Kein Bild
C Programmierung

C 1: Was ist C? Und was ist daran so speziell?

Programmiersprachen gibt es viele. Scriptingsprachen gibt es bestimmt noch mehr. Da sich die Dienstagsartikel meist mit etwas theoretischerem beschäftigen, soll demnächst die Programmiersprache C vorgestellt werden. Dieser Artikel soll eine kleine Übersicht über die Vor- und Nachteil geben und nicht zuletzt erklären, was C überhaupt ist.

Kein Bild
Linux

Unix-Tools 7: strings

UNIX/Linux ist bei Hobbyadministratoren und Informatikstudenten sehr beliebt. Kein Wunder, stellt es doch eine komplette Server- und Entwicklungsumgebung zur Verfügung. Das heutige Tool strings richtet sich mehr an die Programmierer als an die Administrator. Wie der Name schon sagt, handelt es sich auch hierbei um ein String verarbeitendes Programm. Strings sind nicht mehr als zusammengesetzte Zeichen – also Zeichenketten (jeder Programmierer wird wissen wovon ich rede). Solche in “normalen” ASCII-Dateien zu finden, ist mit grep (Das Tool wurde noch nicht vorgestellt) kein Problem. Wenn es sich dabei aber um binäre Dateien handelt, z.B. Objektdateien vom Kompilierprozess, ist grep plötzlich nicht mehr so anwenderfreundlich. Aber nicht verzagen: es gibt ja strings.

Kein Bild
Java Programmierung

Java Radio Button, Button Group und List

Beim Programmieren ist es ja oft so das es verschiedene Auswahlfelder geben muss. Sei es z.B. bei einer Registrierung ob jemand männlich oder weiblich ist, hier sollte jeweils nur eine Auswahl möglich sein. Oder bei einem anderen Programm soll ein User z.B. auch einer Liste die Stückzahl auswählen können. In diesem Artikel zeige ich euch wie ihr diese Radio Buttons und Listen in euren Java Programmen verwenden könnt. Zunächst wählt ihr im Design Modus bei den Swing Controls wie ihr auf dem Screenshot sehen könnt die List bzw. Radio Buttons aus. Diese zieht ihr in eure Java Anwendung und Platziert sie dort wo ihr sie später haben möchtet. Wenn Ihr die Radio Buttons ausgewählt habt müsst ihr noch die Button Group ebenfalls in eure Anwendung hinein ziehen. Die Grafische Oberfläche eurer Anwendung sollte jetzt ca. so aussehen wie auf dem Screenshot. Listeinträge bearbeiten Wenn ihr jetzt die Listeinträge bearbeiten möchtet markiert ihr eure Liste und macht einen Rechtsklick darauf und klickt anschließend auf “Properties”. Danach bekommt ihr dieses Fenster zu Gesicht, dort klickt ihr in der Zeile model auf die im Bild markierten “…”. Anschließend öffnet sich ein weiteres Fenster dort könnt ihr eure gewünschten Listeneinträge eingeben. In jeder Zeile gebt ihr einen Listeneintrag ein so wie sie später in eurer Liste erscheinen sollen. Das ganze bestätigt ihr mit OK. Wenn ihr jetzt möchtet das immer nur ein Listenelement ausgewählt werden kann wählt ihr bei den Properties in der Zeile SelectionMode Single aus. Danach klickt ihr auf den Button Close und eure Liste ist fertig bearbeitet. Radio Buttons einer Gruppe hinzufügen Welche Beschreibung Rechts neben den Radio Buttons steht könnt ihr wie gewohnt mit einem Rechtsklick auf den Button und “Edit Text” bearbeiten. Aber jetzt muss man die Buttons noch zu einer Gruppe hinzufügen so das immer nur ein Button […]

Kein Bild
Programmierung

MYSQL Zugriffsrechtesystem

Bei den MYSQL Datenbanken gibt es wie man sich schon denken kann ein Rechtesystem. Mit diesem kann geregelt werden das nicht jeder alle Daten sehen bzw. ändern oder löschen darf. Das Zugriffssystem von MYSQL ist in zwei Stufen unterteil. Die erste Zugriffsstufe ist dafür zuständig um zu schauen ob ein Benutzer überhaupt mit MYSQL kommunizieren darf. In der zweiten Zugriffstufe wird geregelt welch Befehle ein User bei welche Datenbank, Tabelle und Spalte ausführen darf. MYSQL wertet beim Login eines Benutzers 3 Informationen aus und zwar den Benutzernamens, das Passwort und den Hostnamen (Rechnername). Bei einer Benutzeranmeldung werden dann diese 3 Informationen geprüft ob sie mit den in der MYSQL Datenbank gespeicherten Login Daten überein stimmen und wenn dem so ist kann der Benutzer die für ihn freigegebenen Datenbanken sehen und bearbeiten. Die MYSQL Zugriffsrechte kann man mit ein paar Befehlen steuern oder wenn man es etwas komfortabler haben möchte gibt es dafür auch Programme mit einer grafischen Oberfläche oder einem Webinterface. Aber damit man das Rechtesystem von MYSQL erst einmal versteht ist es finde ich gut wenn man sich die Befehle einmal genauer anschaut. Daher habe ich hier eine kleine Befehlsübersicht zum erstellen, löschen und verwalten der Rechte von den Benutzern erstellt: CREATE USER test@localhost IDENTIYFIED BY ‚pass‘ Mit diesem Befehl wird ein User mit dem Benutzernamen “test” und dem Passwort “pass” angelegt. SHOW GRANTS FOR test@localhost Zeigt die Berechtigungen des Benutzers “test” an, wenn ihr davor den oben stehenden Befehl eingegeben habt darf der User “test” sich nur einloggen aber hat keine weiteren Rechte. DROP USER test@localhost Löscht den User “test”. GRANT ALL ON *.* TO test@localhost Gibt dem Benutzer “test” Globale Berichtigungen für alle Datenbanken auf dem Server. GRANT ALL ON testdb.* TO test@localhost Gibt dem Benutzer “test” alle Rechte für die Datenbank “testdb”. GRANT SELECT ON testdb.Tab […]

Kein Bild
Java Programmierung

Java Arraylist – Dynamische Arrays

In diesem Artikel werde ich euch die Arraylist etwas näher bringen. Ich hatte ja sowohl in verschiedenen Java Artikeln wie auch in einem Artikel zu der Powershell über die Arrays geschrieben. Aber der Nachteil bei diesen Arrays ist das die Größe beim anlegen angeben werden muss und diese dann nicht mehr geändert werden kann. Wenn man also erst im Nachhinein merkt das man eigentlich ein größeres Array benötigen würde hat man Pech gehabt. Aber es gibt natürlich auch für dieses Problem eine Lösung und zwar die Arraylist. Eine Arraylist ist ein dynamisches Array welches man auch im Nachhinein noch mit beliebig vielen Daten füllen kann. Desweiteren ist es bei einer Arrayliste auch möglich Daten welche man einmal hinzu gefügt hat wieder zu löschen oder sich an zeigen zu lassen wie viele Elemente die Arraylist bereits enthält. In diesem Artikel zeige ich wie man eine Arraylist anlegt und wie man diese später in seinem Programmcode benutzten kann. Befehl Bedeutung import java.util.ArrayList; Dieser Import ist zunächst nötig damit man die Arraylist später auch benutzten könnt. ArrayList test = new ArrayList(); Anlegen einer neuen Arraylist mit dem Namen test. ArrayList<String> test = new ArrayList<String>(); Anlegen einer neuen Arraylist mit dem Namen Test vom Typ String. test.add("Hallo"); Befüllt die Arraylist test mit Daten hier z.B. dem Wort Hallo. test.remove("Hallo"); Entfernt das Hallo wieder aus der Arraylist. test.remove(2); Entfernt den Eintrag an der 3 Stelle aus dem Array. test.contains ("Hallo"); Prüft ob “Hallo” in der Liste enthalten ist. test.get(2); Gibt den Eintrag an der 3. Stelle von der Arraylist aus. liste.size(); Gibt die Anzahl der Elemente des Arrays aus. Das sind erst einmal die Grundfunktionen welche die Arraylist bietet, man sieht also eigentlich kann man diese recht einfach in sein Programm einbauen. Wenn noch Fragen zu der Arraylist bestehen stellt diese einfach in den Kommentaren.

Kein Bild
Programmierung

SQL Datenbanken Befehle zum erstellen und bearbeiten von Datenbanken

Ich hatte ja bereits einen Artikel über die SQL Grundbefehle geschrieben, in dem ich darauf eingegangen bin, wie man Abfragen in einer Datenbank machen und diese Ausgaben filtern kann. In diesem Post gehe ich darauf ein, mit welchen MYSQL Befehlen ihr erst einmal eine Datenbank erstellen könnt und in dieser eine Tabelle eintragt. Des Weiteren werde ich noch die Befehle aufzeigen, mit welchen ihr die Datenbank wieder löschen oder auch eine komplette Datenbank mit einem Befehl leeren könnt. Wichtig ist aber, dass ihr diese ganzen Befehle am besten erst einmal auf einer Lokalen Datenbank ausprobiert und nicht an einer eurer Webseiten. Denn, wenn ihr dort sonst einen Fehler macht oder aus Versehen die falsche Tabelle löscht, wird eure Webseite vermutlich erst einmal nicht mehr funktionieren. Ihr müsstet dann viel Arbeit hinein stecken, um sie wieder lauffähig zu bekommen, daher, wie bei allen Dingen welche man neu lernt, sollte man es am besten in einer Testumgebung ausprobieren. So eine Testumgebung könnt ihr z.B. mit dem USBWebserver erzeugen welchen ich hier schon vorgestellt hatte. Befehl Funktion CREATE DATABASE  TestDB; Erstellt eine Datenbank mit dem Namen TestDB. CREATE TABLE Employee ( idEmployee INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, name VARCHAR (45) NULL, adresse VARCHAR (255) NULL, sex ENUM (‚m‘, ‚f‘) NULL, PRIMARY KEY (idEmployee) ); Erstellt eine Tabelle mit dem Namen Employee. In dieser Tabelle werden die Spalten idEmployee vom Typ Integer, die Spalten name (max. Zeichenlänge 45) und adresse (max. Zeichenlänge 255) vom Typ Varchar und die Spalte sex vom Typ Enum erstellt. Das NULL bei dem erstellen der Spalten steht dafür das diese auch leer sein dürfen. Das UNSIGNED bei idEmployee steht dafür das die Werte ohne Vorzeichen gespeichert werden, so das eine ID z.B. nicht negativ sein kann. Das AUTO_INCREMENT sorgt dafür das der Wert bei jedem Eintrag um 1 erhört […]

Kein Bild
Java Programmierung

UML Klassendiagramm erstellen mit Netbeans

Bei meinem letzten Artikel der Java Artikel Serie bin ich ja auf auf das Thema Methoden eingegangen. Diese werden in so genannten Klassen verwendet, so eine Klasse ist etwas sehr praktisches. Denn wenn man etwas programmiert kann man aus seiner eigentlichen GUI Anwendung immer wieder auf die Methoden der Klasse zurück greifen. Oder man kann seine fertige Klasse z.B. auch an einen anderen Programmierer weiter geben welche die Funktionen der Klasse benützt und somit nicht alles neu selber schreiben muss. Aber oft ist es sehr praktisch wenn man nicht einfach drauf los programmiert sondern sich erst einmal ein Bild macht wie die jeweilige Klasse aussehen soll und welche Funktionen dort vorhanden sein sollen. Das ganze kann man schön grafisch mit einem UML Klassendiagramm darstellen. In diesem Artikel zeige ich wie man ein solchen Klassendiagramm mit Netbeans erstellt. Damit ihr UML Diagramme in Netbeans erstellen könnt müsst ihr euch zunächst das UML Plugin herunter laden. Dazu klickt ihr in Neatbeans oben in der Leiste auf Tools –> Plugins. In dem Fenster welches sich dann öffnet klickt ihr auf den Reiter “Available Plugins”. Dort sucht ihr nach UML und setzt einen Haken und klickt anschließend auf den Install Button und befolgt die Schritte zur Installation. Wenn das Plugin fertig installiert ist könnt ihr das Pluginverwaltungsmenu wieder schließen. Jetzt könnt ihr ein neues Projekt erstellen und dort wählt ihr bei Categories “UML” aus und bei Projects “Plattform-Independent Model”, das ganze bestätigt man mit dem Button Next. Bei dem Project Namen kann man jetzt noch einen beliebigen Projektnamen auswählen. Ich hab das ganze jetzt einmal UMLTest genannt, das ganze bestätigt man mit Finish. Jetzt öffnet sich wieder ein neues Fenster und hier wählt man Class Diagramm aus und klickt wieder auf Finish. Nun ist die Arbeitsfläche für das Klassendiagramm erstellt. Anschließend klicken wir auf […]

Kein Bild
Programmierung

SQL Datenbanken Einführung und Grundbefehle

Ich denke das Thema Datenbanken wird den meisten etwas sagen, oder man kann es sich aus dem Begriff heraus schon fast zusammen reimen. Das Wort besteht ja aus Daten und Banken, Daten ist ja irgendetwas gespeichertes was man wieder aufrufen kann. Ok eine Bank ist etwas etwas zum Sitzen oder man kennt es das man dort Geld einzahlen und wieder abheben kann. Bei den Datenbanken kann man das fast mit einer “normalen” Bank vergleichen, man gibt Daten ein und holt diese irgendwann wieder ab. Nur ist das jetzt nicht wie bei einem normalen Bankschalter das man dort hin geht und zu dem Bankangestellten sagt ich hätte gerne Betrag x von meinem Konto. Sondern man muss wie bei einer Programmiersprache die Richtigen Befehle für eine Abfrage kennen. Aber hier erst noch ein paar Worte wie eine Datenbank eigentlich aufgebaut ist. Eine Datenbank besteht aus mehren Tabellen und in diesen Tabellen gibt es verschiedene Spalten. Ich denke aber das ganze kann man an einem Beispiel am bestehen erkennen. Tabelle: TblArtikel ArtikelNr ArtikelBez HerstellerNr 01 Grafikkarte 22 02 USBStick 24 Tabelle: TblHersteller HerstellerNr HerstellerName 22 Hersteller 1 24 Hersteller 2 Bei diesem Beispiel sieht man das es 2 Tabellen gibt und zwar einmal TblArtikel und dann noch TblHersteller. Wenn man jetzt z.B. wissen möchte wie der die Bezeichnung von dem Artikel mit der Artikel Nummer 1 lautet braucht man einen Befehl dafür. So ein Befehl ist folgendermaßen aufgebaut, man gibt zuerst an welche Spalte aus einer Tabelle man sich anzeigen lassen möchte. Danach wird angegeben auf welche Tabelle man sich bezieht. Anschließend kann man noch Ausschlusskriterien angeben das nicht alle Zeilen angezeigt werden sondern z.B. nur eine bestimmte. Hier einmal die ganzen Befehle in einer Tabelle zusammen gefasst: Befehl Funktion Select * Select Spaltenname Select Spalte1, Spalte2 Mit dem Befehl Select wählt man […]

Kein Bild
Java Programmierung

Java Befehlsliste

Zum Abschluss meiner Java Artikelserie fasse ich hier in diesem Artikel noch einmal alles in einer Befehlsliste zusammen. So kann man auf einen Blick die verschiedenen Grundbefehle sehen. Konsolen Programmierung Befehlsliste Befehl Aufgabe System.out.println(„Hello World“); Textausgabe auf der Konsole int ersteZahl; Erstellt int Variable mit dem Namen ersteZahl double ergebnis; Erstellt double Variable mit dem Namen ergebnis char einZeichen; Erstellt char Variable mit dem Namen einZeichen String vieleZeichen; Erstellt String Variable mit dem Namen vieleZeichen ergebnis=zahl1+zahl2; Addiert zahl1, 2 und speichert es in der Variablen ergebnis BufferedReader input=new BufferedReader (new InputStreamReader (System.in)); Müsst ihr in euer Programm einfügen, damit ihr Usereingaben einlesen könnt. strInput = input.readLine(); Damit wird eine Usereingabe eingelesen und in der Variablen strInput gespeichert. try { // Die Befehlskette welche ausgeführt werden soll. } catch (Exception ex) { // Wenn irgend etwas schief geht wird diese Operation ausgeführt. } Hier wird der try Block ausgeführt wenn das Programm normal läuft. Wenn es in einen Fehler auftritt wird der Inhalt des catch Bereichs ausgeführt. if (Bedingung) { Anweisungsblock 1; } else { Anweisungsblock 2; } Mit so einer if Abfrage kann man z.B. prüfen ob der Inhalt einer Variablen kleiner, größer, gleichgroß usw. ist wie eine bestimmte Zahl. Wenn das zutrifft wird der Anweisungsblock 1 ausgeführt wenn nicht der Anweisungsblock 2. While (Bedingung) { Anweisung 1; Anweisung 2; } Die While Schleife wird so lange ausgeführt wie die Bedingung zutrifft. Während dieser Zeit werden die Anweisungen in der Schleife abgearbeitet. Dies ist eine Kopfgesteuerte Schleife da die Bedingung am Schleifenanfang also im Kopf steht. Es wird zuerst die Bedingung überprüft wenn diese zu trifft wird der Code in der Schleife ausgeführt. do { Anweisung 1; Anweisung 2; } while (Bedingung); Bei einer do while Schleife werden die Anweisungen auch so lange ausgeführt wie die Bedingung zutrifft. Dies ist aber […]

Kein Bild
Java Programmierung

Java 12: Eigene Methoden schreiben und aufrufen

Wenn ihr an einem größeren Projekt arbeitet oder sogar im Team etwas Programmiert kommt es öfter vor das man einen bestimmten Bereich von eurem Programm öfter benötigt. Wenn ihr jetzt jedes mal den kompletten Code für diesen Programmteil einfügen würdet macht das euren Programmcode unnötig groß und unübersichtlich. Deshalb könnt ihr euch so genannte Methoden erstellen. Diese könnt ihr dann in eurem Programm aufrufen und es wird der Quellcode der Methode abgearbeitet. Vom groben aufbau sieht eine Methode wie folgt aus: Rückgabedatentyp      Methodenname      Parameter (Typ +Name) Quellcode der ausgeführt werden soll Das ganze würde dann vom aufbau dann so aussehen double      quadrat      double Zahl Berechne das Quadrat und gib das Ergebnis zurück So würde das ganze in eurem Quellcode aussehen: double quadrat(double zahl) { double ergebnis = zahl * zahl; return ergebnis; } Die Definition von der Methode fügt ihr in den public class StartKonto extends javax.swing.JFrame { Bereich ein dort wo ihr auch eure Variablen definiert. In der 1. Zeile gebt ihr mit dem double an was für einen Datentyp der Rückgabewert hat. Wenn dort void stehen würde würde es keinen Rückgabewert geben. Das quadrat in der ersten Zeile gibt den Namen der Methode an. Über diesen Namen könnt ihr die Variable später aufrufen. Ebenfalls in der ersten Zeile gebt ihr mit dem double Zahl den Datentyp und Name an welcher in eurer Methode verwendet wird. Der Inhalt der Methode sollte eigentlich recht klar sein. In der Zeile 3 wird die Zahl welche der User eingibt quadriert und in der Variablen Ergebnis gespeichert. In der Zeile 4 wird der Inhalt der Variablen Ergebnis als Rückgabewert übergeben. Wenn ihr die Methode in eurem Programm aufrufen möchtet könnt ihr das so machen: double quadratzahl; quadratzahl= quadrat(2); In der ersten Zeile erstellt ihr eine Variable in der die Ergebniszahl eurer Variablen gespeichert […]