# Programmieranfänge



## 14Hannes88 (5. Februar 2013)

*Programmieranfänge*

moin @ all

Seit circa einem halben Jahr habe ich mir nun verschiedenste Programmiersprachen angeschaut. Die meisten nur kurz überflogen. Im Beruf brauche ich sie eigentlich eher weniger, möchte aber trotzdem eine erlernen. Intensiver habe ich mich mit programmiersprache python beschäftigt und habe dazu ein buch gelesen, aber irgendwie ist das noch nicht das ware. Mir wurde mal gesagt, dass man wenn man eine Programmiersprache erlernen möchte, ein Projekt benötigt wird (Is klar). Nun habe ich mir selbst ein Projekt ausgedacht was ich umsetzen möchte. Dabei handelt es sich um ein denkbar simples Programm. Leider sehe ich mit Python nich die Möglichkeit dies umzusetzen. Besser gesagt ich sehe nicht die generellen Möglichkeiten einzelnder Sprachen. Deshalb möchte ich nach hilfe fragen. folgendes Projekt:

Ich möchte zur unterstützung in meinem Beruf ein kleines Programm schreiben das es mir ermöglicht Geräte einzutragen (nicht unbedingt eine Datenbank) und diesen einen Aktivitätsstatus zu verleihen oder nicht. Dies soll durch markierungen hervorgehoben werden. Also ganz simples beispiel: Sagen wir mal Ihr seit Angestellter in einem Fahrradverleih (rein hypothetisch) und habt 20 Fahrräder und möchtet in einem Programm sehen wenn ein fahrrad verliehen ist. Damit man gleich sehen kann welche fahrräder noch im Lager sind und welche nicht. Dies soll zum beispiel durch eine ganz einfache operation geschehen(zum beispiel setzen eines Haken). Gut, jetzt könnte man sagen: Wieso nimmt er sich keinen Stift und ein Blatt papier? Ganz einfach: Apple hat sich beim iphone auch nicht gedacht - "ach wieso so etwas modernes erfinden, wir nehmen einfach wieder die Taube."

Nun ist mein hauptsächliches Problem, das ich nicht weiß mit welchem Programm man dies umsetzen könnte. somit zu meiner hauptsächlichen Frage: Kann mir jemand beim Anfang helfen?

und bitte nicht solche dinger wie: "Lerne erstmal mit dem computer umzugehen" oder "was für ein Kiddie!", das ist weder Zielführend noch besonders brauchbar.

Danke im voraus

PS: Kenntnisse besitze ich hauptsächlich in delphi, Php und python. Alles nicht wirklich fortgeschritten ausgebaut, eher alles grundkenntnisse. in bash-scripten und der shell von linux habe ich schon etwas fortgeschrittenere Erfahrungen.


----------



## -Phoenix- (5. Februar 2013)

*AW: Programmieranfänge*

Moin,
das Programm kannst du in eigentlich jeder Programmiersprache implementieren, in deinem fall wäre wohl Python am besten weil du da vorkenntnisse hast. Du wirst ja wahrscheinlich eine GUI verwenden wollen, Python bietet ja eine groß Menge an verschiedenen Frameworks GuiProgramming - Python Wiki

Sonst kannst du auch mit Java arbeiten da fällt der Einstiegt auch relativ leicht.

Lb.


----------



## 14Hannes88 (5. Februar 2013)

*AW: Programmieranfänge*

also bisher hatte ich in python nur kleine funktionen oder operationen geschrieben. Zum Beispiel: in einem Buch über python ging es um die programmierung eines einfachen rechenspiels in über die python shell. Man hat eine Random rechenaufgabe bekommen und musste das richtige ergebnis reinschreiben. Hat im endeffekt alles nicht so wirklich geklappt. Einige schritte gingen ganz gut von der Hand einige waren sehr verwirrend.
http://extreme.pcgameshardware.de/newreply.php?do=newreply&p=4964080


----------



## DarkMo (5. Februar 2013)

*AW: Programmieranfänge*

grundlegend... hmm. wie gesagt, machbar ist "alles" ^^

um dir den status deiner "fahrräder" (ich bleib einfach mal bei dem bsp) über das programmende hinaus zu bewahren, brauchst du irgendeine speicherungsform. datenbank haste schon genannt, aber das is glaube für nen anfänger komplizierter und verwirrender als alles andere. ich hab mich damit selbst auch noch ned beschäftigt (ausser in php) und hätte keine ahnung, wie ichs in c zum bsp realisier ^^ aber es gibt ja noch ganz ordinär text-files. ich würd dir zum anfang also nahelegen, deine fahrräder mit status in nem textfile zu speichern. flotte_liese 0 und in der nächsten zeile diamant 1 als bsp. der erste part ist der name/die bezeichnung, der 2. halt, ob ausgeliehen oder nich.

hier lässt sich auch schon die "freiheit" des programmierens verdeutlichen: es is völlig wurst, ob du 1 als "ausgeliehen" oder als "im laden" interpretierst - musst dich an deine interpretation halt nur durch die bank weg halten ^^ auch kann man hier schon ein bsp für "statisches" und "dynamisches" programmieren sehen. die interpretation einer zeile zum bsp. ich habs jetzt beispielhaft so angegeben, dass eine zeile aus 2 "worten" besteht die per leerzeichen getrennt werden. wort 1 wäre der name, wort2 der zustand/flag. funzt freilich, aber is halt sehr statisch. würde man liese_lotte als liese lotte schreiben, wäre plötzlich lotte der status oO unschön ^^ zudem sieht das mit dem unterstrich immer blöde aus (eigenes empfinden). bessere wäre hier also zu sagen, das letzte wort ist der status, alles davor der name. "liese lotte 1" ginge dann also auch noch. geht in diesem bsp sehr schön. hätte man jetzt 3 sachen, die man speichern will, wärs scho wieder problematischer (uU).

du siehst: vorüberlegungen können einem später viel arbeit sparen. bis ins detail lässt sich sowas nich immer planen, aber es hält den gröbsten ärger von einem fern. gut, du hast also dein text-file mit den fahrrädern und deren zuständen und liest aus bzw schreibst (wenn sich nen zustand ändert). der zustand selber is entweder 0 oder 1. das speicherste in ner variablen nachm auslesen und kannst anhand dieser dann einfach den status anzeigen lassen. vllt als pseudocode sowas hier:
if(flag == 1) echo/print "ausgeliehen"; else echo/print "im laden";

und ändern? geht dann auch sehr easy. machst dann einfach aus der 1 ne 0 oder aus der 0 ne 1 ^^
hier noch ne kleine anmerkung: bei sowas (2 zustände) kann eine toggle funktion sehr nützlich sein. also eine funktion, die flag von 0 auf 1 oder von 1 auf 0 setzt - je nachdem welchen wert sie hat. viel einfach gehts aber, wenn flag nen boolean wäre (wahrheits wert) -> true/false. dann wäre es also ganz gut, wenn man beim auslesen aus der datei nich die 0 oder 1 speichert, sondern sowas macht:
if(last_word == '0') flag = false; else flag = true;

dann geht das toggln dieses flags äusserst simpel: flag = !flag; ^^ ! ist ein negationsoperator (zumindest bei vielen sprachen). != heisst zum bsp auch ungleich. also 1 != 1 ergibt false, weil beide seiten gleich sind, 1 != 0 oder 12 oder was auch immer wäre true. die aussage, das beide seiten ungleich sind, stimmt ^^ joa, und flag = !flag; weisst flag seinen alten boolschen wert zu, nur eben negiert. !false (-> nicht falsch) ergibt so true und !true (nicht wahr) ergibt also false.

gut, soviel zum grundsätzlichsten. für ne effektive speicherung deiner text-file daten wirste aber sicher noch 2 andere dinge brauchen: ne struktur und ne liste ^^ die struktur enthält dann in einer variablen 2 untervariablen -> name und flag und die liste beinhaltet viele dieser struktur-variablen. bei php würde es in diesem fall auch nen einfaches array tun, da man hier ka strings als keys nutzen kann. also array[name] = flag; würde alle benötigten infos beinhalten. bei c usw geht sowas aber leider nich (in php kann man auch nich wirklich von sowas wie nem array reden, das sind eher listen mit array charackter, nach aussen hin).

gut, soviel mal als ganz allgemein gehaltener ausblick. hoffe es hilft dir im groben ein wenig. ins detail kann man ja gehen, wenn du mal ne sprache ausgesucht hast (mit phyton hab ich zum bsp 0 erfahrung, auch wenns sicher wieder mit c usw verwandt is).


----------



## Supeq (5. Februar 2013)

*AW: Programmieranfänge*

Hey,

wie schon gesagt: Welche (höhere) Programmiersprache du für dein Vorhaben wählst ist wirklich völlig egal, da dein Projekt ja ziemlich simpel zu sein scheint. Aber was meinst du genau mit "Nun ist mein hauptsächliches Problem, das ich nicht weiß mit welchem Programm man dies umsetzen könnte" ? Suchst du ein IDE ? Dann schau dir auf jeden Fall mal PyDev an. Bin kein Python-Profi aber Eclipse allgemein benutzte ich eigentlich für alles wo nicht Microsoft draufsteht  

Abgesehen vom Programmieren der Applikation wirst du aber um eine Datenbank (und sei es nur ein csv-File das als DB dient) nicht herum kommen. Von daher würd ich dir empfehlen, sich mal ins Thema Datenbanken einzulesen, so dass du wenigstens de grundlegenden Abfragen drauf hast.

LG und viel Erfolg^^


----------



## 14Hannes88 (5. Februar 2013)

*AW: Programmieranfänge*

Datenbanken (hatte ich vergessen zu erwähnen) hatte ich in meiner ausbildung bis zum erbrechen. Datenbanken wollte ich auch nicht ausschließen. Ich hatte es mir ungefähr so vorgestellt: Der Einwand mit der GUI war nicht ganz verkehrt. In diese Richtung wollte ich auch gehen. In meiner Ausbildung hatte ich damals kurz etwas delphi gehabt, dort war es so das wir im Borland delphi 6 geschrieben haben und dort konnten wir uns auch gleich unsere "Fenster" (also unsere GUI) zusammenbasteln. Da ich von den meisten anderen hohen Programmiersprachen - wie ihr vielleicht mitbekommen habt - keine ahnung habe, war ich mir anfangs nicht ganz sicher ob man dies bei python auch mit einer gui hinbekommt... aber scheint ja wunderbar zu gehen. Also: Man soll in einem "Fenster alle Fahrräder untereinander sehen und meinetwegen einen blinkenden Effekt das man gleich sehen kann - aha fahrrad sowieso ist gerade unterwegs - verstanden?

@DarkMo: Danke für die erklärung diese war gerade wirklich hilfreich! Aber leider ist das in dieser variante keine alternative (nichts für ungut). Dies hat mir aber aufjedenfall schonmal einen überblick verschafft. Wäre natürlich die einfachste Lösung, aber nicht wirklich übersichtlich.

@Supeq: Pydev ist sozusagen ein Addon für den Editor Eclipse? gegen Datenbanken habe ich grundsätzlich nichts... naja den IDE habe ich auch wenn ich das Python Pack runterlade oder beim Editor JEdit das Addon integriere. ODer meinst du etwas anderes?


----------



## Supeq (5. Februar 2013)

*AW: Programmieranfänge*

Naja PyDEV ist schon mehr als ein Addin sondern viel mehr ein komplettes IDE für Python, also mit Debugger, Interpreter ... halt alles in einem ^^ Muss man ja nicht benutzen, aber damit hat man halt alles in einer Umgebung.


----------



## 14Hannes88 (6. Februar 2013)

*AW: Programmieranfänge*

cool, das werde ich mir mal anschauen. Danke für den tipp


----------



## retarDeD.aNiMaL (6. Februar 2013)

Als Webapp kannst denn noch gut django dazu nehmen.


----------



## Leandros (6. Februar 2013)

*AW: Programmieranfänge*

Mir stellt sich die Frage, was sind deine Anforderungen an die Programmiersprache? Dein Projekt kann man, meiner meinung nach, am simpelsten mit einer relationalen Datenbank (SQL) und einer website mit PHP realisieren, das ist aber wahrscheinlich nicht dein Ziel, oder?

@Supeq: Bitte empfehle niemandem Eclipse. Es gibt keine schlechtere IDE, vim ist besser als Eclipse.


----------



## mtheman2011 (8. Februar 2013)

Leandros schrieb:


> @Supeq: Bitte empfehle niemandem Eclipse. Es gibt keine schlechtere IDE, vim ist besser als Eclipse.



Das ist wohl reine Ansichtssache was hast du denn gegen Eclipse? Was findest du so schlecht daran?


----------



## Leandros (8. Februar 2013)

*AW: Programmieranfänge*

Siehe letzte Seite...


----------



## mtheman2011 (8. Februar 2013)

Sry. Aber ich weis nicht was du meinst?!


----------



## Kartright (8. Februar 2013)

An und für sich kannst du dein Vorhaben mit jede Hochsprache realisieren, aber ich empfehle dir C zu lernen. C bildet die Grundlage zu fast jeder anderen Hochsprache, sei es C++, C#, Java, etc. 

Wenn du C erlernt hast, kannst du mit C++ weiter machen und dir dann dein Programm schreiben. Ist ein zeitaufwendiger Weg aber er wird passen.

Andernfalls könntest du dir eine Webapp programmieren, da du ja schon Kenntnisse in PHP besitzt. Nutze dann PHP um eine Datenbank an deine Webapp anzubinden und dort dann die entsprechenden Eintragungen vorzunehmen! Wäre sehr sinnvoll da du mobil mit der App bist, da sie ja auf deinem Server läuft!

Wenn du schon Kenntnisse in Python hast, dann nutze sie. Jedoch kenn ich Python nicht! Mir scheint die Sprache schon sehr suspekt, da sie mich an Monty Python erinnert. Jeder der den kennt weiß ja was das für ein Witzbold ist. 

Aber theoretisch kannst du es sicher auch in Python oder Delphi oder was auch immer Programmieren.


----------



## Leandros (8. Februar 2013)

*AW: Programmieranfänge*



mtheman2011 schrieb:


> Sry. Aber ich weis nicht was du meinst?!


 
Ups. Habe mich im Thread geirrt.  
Hier ist der link zum Thread wo ich das bereits erläutert habe.
http://extreme.pcgameshardware.de/showthread.php?t=259542


----------



## 14Hannes88 (15. Februar 2013)

*AW: Programmieranfänge*

aaalllllsoooo,

@ Leandros: Wahrscheinlich wäre dies die einfachste Lösung, würde aber jedesmal einen Browser erfordern, oder? Ich möchte lieber ein eigenständiges Programm, das ich starte und dann dort eingaben tätigen kann und diese dann durch betätigen eines "Speichern"-Buttons in einer Datanbank(Ich habe gemerkt ohne datenbank wird das wahrscheinlich nichts) abspeicher kann. So dass ich nach einem späteren neustart des programms wieder alles so ist wie ich es vorher abgespeichert habe.


Ich habe mittlerweile die attribute erarbeitet was in der Datenbank vorhanden sein sollte. Dies muss jetzt erstmal in eine richtige reihenfolge gebracht werden. Danach werde ich mich daran machen erste Erfahrungen in GUI-Programmierung zu sammeln. Dies bezüglich irgendwelche empfehlungen? Welches Programm?


----------



## Leandros (15. Februar 2013)

*AW: Programmieranfänge*

Kommt drauf an welche Plattformen du anpeilst. 
GUIs kannst du eigentlich mit so gut wie jeder Sprache entwerfen und entwickeln. 

Empfehlen würde ich dir allerdings C, C++ oder Java. Sind für den Anfang die sinnvollsten und praktischsten. 
Als GUI library kannst du bei C oder C++ GTK nutzen oder bei Java SWING. 
Müsstest du dich mal schlau machen, was dir am meisten zusagt.


----------



## 14Hannes88 (15. Februar 2013)

*AW: Programmieranfänge*

Ich hab jetzt nochmals nachgesehen... Java sieht ziemlich unübersichtlich aus, scheint aber für den Anfang nicht verkehrt zu sein. Ich meine eine GUI in Java zu entwickeln wird jetzt nicht das schwerste sein, aber wie bindet man eine eine Datenbank ein? Also so das dann bei jeden Progammstart auf eine Datenbank zugegriffen wird? Sozusagen wie in einem Explorer für Datanbanken wo man verschiedene Filterungen vornehmen kann um besser die Datenbank nach den nötigen Info´s zu durchsuchen.


----------



## Leandros (15. Februar 2013)

*AW: Programmieranfänge*

Ich empfehle den Leuten immer mit C anzufangen, mag für den Anfang etwas komplizierter sein, jedoch macht es dir später vieles einfacher. 
Java ist im Prinzip ein vereinfachtes C++ welches in einer VM läuft. 
Es gibt für jede Sprache Datenbanken, kein angst (entweder eingebaut oder per library).


----------



## 14Hannes88 (15. Februar 2013)

*AW: Programmieranfänge*

Gut dann werde ich es mal mit C probieren. Erstmal werde ich mir ein ER-Diagramm erstellen um erstmal ein plan zu haben welche informationen im Programm dann abgefragt werden sollen. Danke erstmal bis hierhin.


----------



## Leandros (15. Februar 2013)

*AW: Programmieranfänge*

Kleine Mockup Skizzen helfen auch immer, um was konkretes zu haben was man dann in code umsetzt.


----------



## 14Hannes88 (15. Februar 2013)

*AW: Programmieranfänge*




			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        



Ich bin deinem Tipp gefolgt und habe mal meine zukünftige Main Page gestaltet. Ich weiß sieht nicht sehr bombe aus, aber ist ja auch nur ein entwurf. Dort wo überall Text steht, soll dann die späteren Attribute aus der Datenbank stehen. Einige werden Wahrscheinlich jetzt verstehen wieso und weshalb ich das mache


----------



## Leandros (15. Februar 2013)

*AW: Programmieranfänge*

Super. Sieht doch gut aus


----------



## freecrac (16. Februar 2013)

*AW: Programmieranfänge*



14Hannes88 schrieb:


> aaalllllsoooo,
> 
> @ Leandros: Wahrscheinlich wäre dies die einfachste Lösung, würde aber jedesmal einen Browser erfordern, oder? Ich möchte lieber ein eigenständiges Programm, das ich starte und dann dort eingaben tätigen kann und diese dann durch betätigen eines "Speichern"-Buttons in einer Datanbank(Ich habe gemerkt ohne datenbank wird das wahrscheinlich nichts) abspeicher kann. So dass ich nach einem späteren neustart des programms wieder alles so ist wie ich es vorher abgespeichert habe.


Ein wirklich eigenständiges Programm müsste doch auch gebootet werden können. In diesem Fall würde ich raten es zu lernen wie eine CPU arbeitet, um ein wirklich eigenständiges Programm auch booten zu können. Denn anderfalls kann das Programm ja nicht wirklich eigenständig arbeiten, wenn es nur innerhalb eines fremden Betriebsystem gestartet werden kann und ohne die Hilfe der dortigen OS-Funktionen auch gar nicht funktioniert. Ohne ein Betriebsystem gibt es nur rudimentäre BIOS-Funktionen mit denen es u.A, möglich ist über den Bootvorgang etwas zu booten und zur Ausführung zu bringen und Daten von einem Datenträger zu Lesen und zu Schreiben und einige Ein- und Ausgabefunktionen. Alles Weitere wie etwa die Verwaltung des Speichers, das Anlegen von Datenbankstrukturen darf man selber entwerfen, konstruieren, oder nachbauen, womit auch die Eigenständigkeit des Programms im vollen Umfang erhalten bleibt und gewährleistet ist.

Dirk


----------



## Defenz0r (16. Februar 2013)

*AW: Programmieranfänge*

Ich glaube er will das Programm nicht "Booten" WTF warum denn auch?
Warum solle er ein "Bootbares" Programm schreiben können?

Das Speichern zuletzt gemachter Änderungen ist garnicht schwer, angefangen mit der Bildschirmposition usw.
Kannst es z.B in eine .ini packen, eine .xml oder wenn du lustig bist encryptest du dir eine eigene Extension in der du die Konfigurationseinstellungen ein/auslesen kannst.
Sowas hatte ich vor vielen Jahren mal in Basic gemacht, zwar keine eigene codierung , sondern mit der md5 Verschlüsselungsmethode.


Ob es Sinnvoll bei deiner Anwendung ist, wage ich zu bezweifeln ... (also codierung)


lg


----------



## bingo88 (16. Februar 2013)

*AW: Programmieranfänge*

Das verstehe ich jetzt nicht gerade unter einem eigenständigen Programm. Für mich heißt so etwas Betriebssystem


----------



## Leandros (16. Februar 2013)

*AW: Programmieranfänge*

Totaller Schwachsinn was freecrac da redet. 

Das hat doch gar nichts damit zu tun was der TE erreichen möchte.


----------



## freecrac (17. Februar 2013)

*AW: Programmieranfänge*

In wie weit eine Anwendung eigenständig arbeiten kann hängt auch damit zusammen, ob und welche Abhängigkeiten zum Umfeld bestehen, wo es seine Arbeit verichtet kann.
Ich habe hier lediglich eine Möglichkeit aufgezeigt die Eigenständigkeit eine Anwendung zu erhöhen.
Welche Eigenständigkeit nun wirklich gewünscht ist und erreicht werden soll, dass überlasse ich jedem selber.
Und wenn das gewünscht ist kann man auch mit einem Browser arbeiten.

Für mich ist ein Betriebssystem etwas womit man andere, externe Anwendungen zur Ausführung bringen kann.
Anderenfalls ist es nur eine bootbare Anwendung, die für sich selber nur alle Resourcen verwendet, aber keine Resourcen für anderen Anwendungen zur Verfügung stellt.
Das Booten so einer kleinen Anwendung sollte relativ zügig ablaufen und seinen vollen Funktionumfang unmittelbar danach zur Verfügung stellen.

Dirk


----------



## bingo88 (17. Februar 2013)

*AW: Programmieranfänge*

Das Booten ist nicht das Problem, das sind nur ein paar Zeilen Code. Aber das Programm kann dann halt nichts machen, keine Dateien lesen, keine grafische Oberfläche, etc. Der Aufwand, dem Programm das alles beizubringen ist ziemlich hoch und höchsten für embedded Anwendungen von Interesse.


----------



## Leandros (17. Februar 2013)

*AW: Programmieranfänge*

Mal ernsthaft, könnt ihr euer schlau daher Gerede woanders machen? Das verwirrt und es es ist völlig offensichtlich das so etwas nicht das Ziel ist.


----------



## 14Hannes88 (18. Februar 2013)

*AW: Programmieranfänge*




			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        




			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        




			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        




			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        




			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        




			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        




			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        



Also ich habe jetzt mal alle ebenen noch mit hierein geworfen damit jeder weiß was gemeint ist. Die Master Page befindet sich in meinem vorausgegangenen Post. Dadurch das Leandros mir den Tipp mit Mockup-Skizzen gegeben hat, habe ich ohne es zu merken gleichzeitig meine spätere Datenbankstruktur entworfen. Danke nochmals für den Tipp

eventuell kommen später noch einige Hinweisfenster und -funktionen bei Fehlern dazu... ist aber erstmal nicht so wichtig. Erstmal muss das grundgerüst stehen.


----------



## Leandros (18. Februar 2013)

*AW: Programmieranfänge*

 Sehr vorbildlich. Sieht gut aus, so lernst du direkt wie die Entwicklungen von Programmen so abläuft. 
Du solltest dir vielleicht noch eine Skizze von den Beziehungen und Verbindungen der einzelnen Screens erstellen. Sozusagen eine Programm Struktur.


----------



## 14Hannes88 (18. Februar 2013)

*AW: Programmieranfänge*



Leandros schrieb:


> Sehr vorbildlich. Sieht gut aus, so lernst du direkt wie die Entwicklungen von Programmen so abläuft.
> Du solltest dir vielleicht noch eine Skizze von den Beziehungen und Verbindungen der einzelnen Screens erstellen. Sozusagen eine Programm Struktur.


 
Gut das werde ich machen, ist wahrscheinlich später die beste Hilfe um noch durchzublicken.

Gibt es für C eine IDE?


----------



## Leandros (18. Februar 2013)

*AW: Programmieranfänge*

Ja, gibt C IDEs. Google einfach mal nach. Ich schreibe meine Programme meist mit Sublime Text oder VIM, daher kann ich dir nichts empfehlen.


----------



## 14Hannes88 (18. Februar 2013)

*AW: Programmieranfänge*

@Leandros: Unter Google konnte ich jetzt Eclipse und Netbeans finden. Ist Netbeans eigentlich grundlegend für Java gedacht?


----------



## Leandros (18. Februar 2013)

*AW: Programmieranfänge*

Beide sind grundsätzlich für Java gedacht. ^_^


----------



## 14Hannes88 (18. Februar 2013)

*AW: Programmieranfänge*

Achsoooo, also ich suche mich gerade dumm und duselig, aber irgendwie gibt es da nichts konkretes. Bei Eclipse habe ich gesehen das es extra eine Version für C/C++ zum downloaden gibt. Aber ansonsten konnte ich noch C-Free und Codelite finden. Dann hört es aber schon auf... von borland soll es angeblich auch etwas geben...


----------



## freecrac (18. Februar 2013)

*AW: Programmieranfänge*



Leandros schrieb:


> Mal ernsthaft, könnt ihr euer schlau daher Gerede woanders machen? Das verwirrt und es es ist völlig offensichtlich das so etwas nicht das Ziel ist.


Wieso sollte so eine Vorgehensweise denn nicht zielführend für diese Aufgabe sein?
Wenn es dich noch zu sehr verwirrt, dann mache dich halt schlau, oder Frage nach bei dem was dich noch verwirrt.

@bingo88
Daten(Sektoren) können mithilfe vom Bios-interrupt(13h + AH=2) in den Speicher geladen und wieder auch wieder gespeichert(13h + AH=3) werden, aber eine GUI ist doch für eine einzige Anwendung doch etwas übertrieben wie ich finde.
Es genügt doch wenn die Anwendung ihren Inhalt selber zum Bildschirm bringt, dafür muss man nicht unbedingt eine GUI verwenden. Wenn hohe Bildmodi anstelle vom Textmode verwendet werden sollen, dann kann man das VESA-Bios der verwendeten Grafikkarte verwenden und ab VBE 3 (optional) die Refreshrate einstellen, wofür man sicherhaltshalber vorher die Monitorinformationen(EDID) sich über die CRT-Leitung holt und auswertet, um sicherzustellen das die Kapazität des Monitors sich für die gewünschte Auflösung und Refreshrate überhaupt eignet. Zur Abrage einer PS2-Mouse kann man den Mousehandler vom Bios (int 15h + AX= 0C20?h) verwenden (und eine USB-Mouse lasst sich auch mit USB lagacy enable im Bios eingestellt als PS-Mouse abfragen) und das Drücken einer Taste läßt sich direckt vom Tastaturcontroller holen. Der Aufwand das "bischen" zu programmieren ist für die gestellte Aufgabe doch relativ gering, wenn wir das Lernen wie es geht mal aussen vor und unberücksichtigt lassen. Mit der Kenntniss wie es geht und den verschienen Codebeispielen für die einzelnen Routinen kopiert man sich die Befehle dann auch größtenteils dafür zusammen und kann sich dann unverzüglich ganz der spezifischen Aufgabe und deren Lösung und Umsetzung widmen.

Dirk


----------



## Leandros (18. Februar 2013)

*AW: Programmieranfänge*



freecrac schrieb:


> Wieso sollte so eine Vorgehensweise denn nicht zielführend für diese Aufgabe sein?
> Wenn es dich noch zu sehr verwirrt, dann mache dich halt schlau, oder Frage nach bei dem was dich noch verwirrt.


 
Weil der TE nicht so etwas plant?
Mich verwirrt das nicht, ich verstehe was ihr labert, ich kann das auch, nur es ist einfach nicht zielführend und fehl am platz.


----------



## bingo88 (18. Februar 2013)

*AW: Programmieranfänge*



14Hannes88 schrieb:


> Achsoooo, also ich suche mich gerade dumm und duselig, aber irgendwie gibt es da nichts konkretes. Bei Eclipse habe ich gesehen das es extra eine Version für C/C++ zum downloaden gibt. Aber ansonsten konnte ich noch C-Free und Codelite finden. Dann hört es aber schon auf... von borland soll es angeblich auch etwas geben...


 Du könntest dir evtl. auch Qt ansehen. Das ist ein Framework für C++, die haben auch eine eigene IDE (Qt Creator). Allerdings weiß ich nicht, wie viel Sinn das ohne C/C++ Vorkenntnisse macht.

Sonstige IDEs:
Eclipse
Netbeans
Code::Blocks
Visual Studio (Express Edition ist kostenlos)

@freecrac
Weiß ich doch alles, habe ich schon zu Genüge gemacht. Wie Leandros schon sagte hilft das hier aber absolut nicht weiter


----------



## DarkMo (18. Februar 2013)

*AW: Programmieranfänge*

mir kommt das so vor, als fragt einer nach nem pc zum selber zusammen schrauben, und du kommst daher und fängst an mit siliziumabbau, veredlung usw usf xD er will doch einfach nur nen programm bauen. zudem steht hier programmierANFÄNGE in der überschrift, un du kommst mit bootbarem zeug daher...


----------



## Leandros (18. Februar 2013)

*AW: Programmieranfänge*



bingo88 schrieb:


> Du könntest dir evtl. auch Qt ansehen. Das ist ein Framework für C++, die haben auch eine eigene IDE (Qt Creator). Allerdings weiß ich nicht, wie viel Sinn das ohne C/C++ Vorkenntnisse macht.



Ist ja direkt ein Framework, da kann er, wenn er nur Windows unterstützen will auch das von Microsoft nutzen. 
Alternativ zu Qt kann man noch GTK (C) oder GTK+ (C++) nutzen, sind auch noch empfehlenswert (jedoch nicht ganz einfach, wie Qt aber auch).


----------



## 14Hannes88 (19. Februar 2013)

*AW: Programmieranfänge*

Qt ist leider kostenpflichtig ist vielleicht nicht ganz angebracht bei nem anfänger. Ich werde mich jetzt mal eclipse widmen, denn für meine kleinen anforderungen sollte es ausreichen. Gtk habe ich mir auch bereits angesehen, bekomme es aber nicht zum laufen und finde es eher gesagt (zumindest nachdem was ich gesehen habe) unübersichtlich. Deshalb geißelt mich nicht wenn ich dies verwende. Ich hätte wahrscheinlich auch alles mit delphi 6 schreiben können, ist aber leider eine andere Programmiersprache die ich jetzt nicht so interessant finde.

Ich habe nebenbei jetzt meine Datenbank gebastelt (oracle)... gibt es später die möglichkeit diese einzubinden oder ist das eher zu kompliziert?


----------



## crusherd (19. Februar 2013)

Guten Morgen,

Die Business-Version ist kostenpflichtig, da hast du recht. Man kann aber die kostenlose Version auch runterladen, da diese OpenSource ist. Der Link dazu ist aber etwas versteckt.

http://qt-project.org/downloads

Gruß
crusherd


----------



## bingo88 (19. Februar 2013)

*AW: Programmieranfänge*

Genau, Qt ist nur in der Business-Version kostenpflichtig.

Compiler hast du aber auch schon, oder? Eclipse ist ja nur die IDE, für Windows könntest du bspw. MinGW installieren.


----------



## 14Hannes88 (19. Februar 2013)

*AW: Programmieranfänge*



bingo88 schrieb:


> Genau, Qt ist nur in der Business-Version kostenpflichtig.
> 
> Compiler hast du aber auch schon, oder? Eclipse ist ja nur die IDE, für Windows könntest du bspw. MinGW installieren.



jo das hätte ich fast vergessen ich hatte zwar schon eine liste mit den verschiedensten compilern, hatte dann aber erstmal augenmerk auf die IDE geworfen. 

@crusherd: Danke nochmals für den Link! ... sehr hilfreich


----------



## Leandros (19. Februar 2013)

*AW: Programmieranfänge*

MingW ist kein compiler... MingW ist eine emulierung einer Unix / Linux Umgebung (genau wie cygwin). 
Compiled wird mit g++ (C++) oder gcc (C)


----------



## bingo88 (19. Februar 2013)

*AW: Programmieranfänge*

Ja stimmt, war nicht ganz richtig formuliert


----------



## freecrac (19. Februar 2013)

*AW: Programmieranfänge*



DarkMo schrieb:


> mir kommt das so vor, als fragt einer nach nem pc zum selber zusammen schrauben, und du kommst daher und fängst an mit siliziumabbau, veredlung usw usf xD er will doch einfach nur nen programm bauen. zudem steht hier programmierANFÄNGE in der überschrift, un du kommst mit bootbarem zeug daher...


Na gerade Programmieranfänger sollten es lernen womit der PC anfängt zu Starten und genau diese Grundlage kann im späteren Verlauf helfen es zu verstehen wie Programme von der CPU verarbeiten werden.
Ich halte nicht viel davon sich am Anfang zu abstrakt von der CPU und deren Arbeitsweise wegzubewegen und Dinge zu lernen welche die Eigenständigkeit einer Anwendung immer weiter in die Ferne rückt und womit künstliche Abhängigkeiten geschaffen werden, die keinesfalls nötig sind um so eine Aufgabe zu erfüllen. Das diese Methode eine Anwendung bootfähig zu bekommen und so die Aufgabe im vollen Umfang zu erfüllen nicht zielführend sei, das ist nur eine weitere Fehlinformation. Ich selber habe so angefangen an einem DOS-Rechner(80286) und noch bevor ich irgendwelche DOS-Befehle lernte, da habe ich das erste Jahr mich einzig nur mit DEBUG dem Speicher und der Funktionsweise der CPU beschäftigt. Auch bin ich es ebenfalls leid derartige Fehlinformation immer wieder zu hören. Könnt ihr nicht euren "Dummschnack" darüber nicht wo anders fortführen?, weil dieses "Genöle" und Verwirrungsgequatsche nervt ebenfalls und ist darüber hinaus nur kontraproduktiv. Geht es etwa nur darum in möglichst kurzer Zeit etwas so einfach wie möglich fertig zu programmieren, oder nach welchen Kriterien darf man sonst noch etwas programmieren und wer hat denn das überhaupt zu bestimmen? Ich bitte darum mal die Kirche im Dorf zu lassen. Über Kritik würde ich mich ja noch freuen, aber dann doch nicht nur mit irrwitzigen Bekundungen es sei verwirrend, oder es sei für eine Schwangerschaft heute unpässlich. Gehts noch gut, oder was?

Es gibt nun mal verschiedenen Wege die nach Rom führen, aber unsere CPU kennt nur eine einzige Sprache. Nun kann man viele Übersetzer damit beschäftigen jede fremde Sprache für die CPU zu übersetzen, wobei jede Übersetzung etwas Rechenzeit kostet.

@bingo88: Wenn du das schon alles vorher wusstest, warum hast du dann zu erst erzählt man könne keine weiteren Daten laden, nachdem eine Anwendung gebootet wurde?
(Beides zusammen kann ja wohl nicht miteinander zutreffen.)

Dirk


----------



## Leandros (19. Februar 2013)

*AW: Programmieranfänge*

Ist das dein ernst? Hoffentlich bist du kein Lehrer. 
Man fängt doch nicht mit dem kompliziertesten an, man arbeitet sich hoch. C++ ist auch schon nicht wirklich einfach, wenn man aber ohne Vorkenntnisse mit Assembler anfängt ist man verloren.

Der einzige der "dummschnackt" bist du. Denk doch mal and Ziel, wet will den jedes mal rebooted um ein einzigen Eintrag in eine Datenbank anzulegen. 

Langsam gehst du mir gewaltig auf die Nerven.


----------



## freecrac (19. Februar 2013)

*AW: Programmieranfänge*



Leandros schrieb:


> Ist das dein ernst?


Aber sicher doch.



> Hoffentlich bist du kein Lehrer.


LOL. Du denkst wohl weil du mich schon so gut kennen gelernt hast, da kannst dir über meine Fähigkeiten schon ein solches Urteil bilden?



> Man fängt doch nicht mit dem kompliziertesten an, man arbeitet sich hoch. C++ ist auch schon nicht wirklich einfach, wenn man aber ohne Vorkenntnisse mit Assembler anfängt ist man verloren.


Aus meiner Sicht ist es weitaus komplizierter ohne Vorkenntnisse mit C++ anzufangen und um einiges leichter sich die Grungkenntnisse über die Arbeitsweise der CPU anzueigenen. Denn der Umfang darüber ist sehr begrenzt.
Danach kann man sich mit C++ beliebig weit hocharbeiten. Zuerst die Basis und Grundlage wie die CPU arbeitert und danach wie man mit abstrakten Hochsprachen und eine Vielzahl von Funktionen und Bibliotheken umgehen kann.
Das meine ich wirklich so und es wird von dir viel komplizierter dargestellt als es eigentlich zu bewältigen ist. Und es geht jetzt auch nicht darum ein Wettbewerb zu veranstalten welcher Weg der beste ist, denn darüber läßt sich wohl niemals einig werden. Wir können aber gerne verschiedene Wege ausleuchten und darüber ein Verständniss entwickeln auf welchen Wegen wir unser Ziel erreichen können.



> Langsam gehst du mir gewaltig auf die Nerven.


Dein allzu mimosenhaftes Verhalten ist zwar für die Sachlage nahezu irrelevant, aber wirklich verstehen kann ich so eine bescheidenen Reaktion trotzdem nicht.
Reiss dich doch bitte mal zusammen und unterlasse solche persöhnlichen Anfeindungen, mir geht es hier nicht um dein persöhnliches Leiden.

Dirk


----------



## bingo88 (19. Februar 2013)

*AW: Programmieranfänge*



freecrac schrieb:


> @bingo88: Wenn du das schon alles vorher wusstest, warum hast du dann zu  erst erzählt man könne keine weiteren Daten laden, nachdem eine  Anwendung gebootet wurde?
> (Beides zusammen kann ja wohl nicht miteinander zutreffen.)


 Auch wenn wir jetzt wieder OT werden: Ich meinte damit, du sagst nicht  einfach "Öffne die Datei C:\Programme\foo\bar.dat, mach was mit der  Datei und schließe die Datei wieder". Denn es gibt auf der Ebene (noch)  keine Dateien, kein Dateisystem, keine Abstraktion. Klar, man kann  natürlich direkt in Sektoren schreiben oder einen eigenen  Dateisystemtreiber entwickeln. Das hilft hier nur alles nicht weiter.  Wenn der TE ein Betriebssystem schreiben möchte dann ja, aber das war  schließlich nicht seine Frage.

Aber um deiner Argumentation zu folgen: Um wirklich alles zu verstehen müsste man zuerst mal einen eigenen Computer entwerfen und bauen, ein eigenes BIOS entwickeln (die von dir vorgeschlagenen Calls rufen ja nur BIOS-Routinen auf, die braucht man ja auch noch zum Verständnis) und sich mit jedem Pfurz Elektronik und Logik auseinandersetzen (Controller, Ein-/Ausgabegeräte, Bussysteme, ...). Das ist dann der Umfang mehrere Studiengägne und jahrelanger Berufserfahrung. Ohne Programmierkenntnisse stehst du da erst recht blöd da.


----------



## freecrac (19. Februar 2013)

*AW: Programmieranfänge*



bingo88 schrieb:


> Auch wenn wir jetzt wieder OT werden: Ich meinte damit, du sagst nicht  einfach "Öffne die Datei C:\Programme\foo\bar.dat, mach was mit der  Datei und schließe die Datei wieder". Denn es gibt auf der Ebene (noch)  keine Dateien, kein Dateisystem, keine Abstraktion. Klar, man kann  natürlich direkt in Sektoren schreiben oder einen eigenen  Dateisystemtreiber entwickeln. Das hilft hier nur alles nicht weiter.  Wenn der TE ein Betriebssystem schreiben möchte dann ja, aber das war  schließlich nicht seine Frage.
> 
> Aber um deiner Argumentation zu folgen: Um wirklich alles zu verstehen müsste man zuerst mal einen eigenen Computer entwerfen und bauen, ein eigenes BIOS entwickeln (die von dir vorgeschlagenen Calls rufen ja nur BIOS-Routinen auf, die braucht man ja auch noch zum Verständnis) und sich mit jedem Pfurz Elektronik und Logik auseinandersetzen (Controller, Ein-/Ausgabegeräte, Bussysteme, ...). Das ist dann der Umfang mehrere Studiengägne und jahrelanger Berufserfahrung. Ja, so lernt man heutzutage programmieren


 Es geht doch nur um das Programmieren und im speziellen wie die CPU Programme verarbeitet aus der Sicht der CPU. Dafür brauchen wir es nicht lernen wie man eine Weltraumrakete bauen kann. So ein Fass braucht man dafür also gar nicht aufmachen.

Dirk


----------



## Leandros (19. Februar 2013)

*AW: Programmieranfänge*



bingo88 schrieb:


> Das ist dann der Umfang mehrere Studiengägne und jahrelanger Berufserfahrung. Ohne Programmierkenntnisse stehst du da erst recht blöd da.


 
Wenn du alles haargenau wissen möchtest wie es funktioniert, dann rechne damit dein Leben lang zu lernen und wenn du Stirbst immer noch nicht alles zu wissen.


----------



## bingo88 (19. Februar 2013)

*AW: Programmieranfänge*



freecrac schrieb:


> Es geht doch nur um das Programmieren und im speziellen wie die CPU Programme verarbeitet aus der Sicht der CPU. Dafür brauchen wir es nicht lernen wie man eine Weltraumrakete bauen kann. So ein Fass braucht man dafür also gar nicht aufmachen.


Dafür guckt man sich ein paar Seiten bei Wikipedia an, wenn man es denn unbedingt wissen will.



Leandros schrieb:


> Wenn du alles haargenau wissen möchtest wie es funktioniert, dann rechne damit dein Leben lang zu lernen und wenn du Stirbst immer noch nicht alles zu wissen.


 Eben, nicht umsonst gibt es für alles Spezialisten. Es gibt heutzutage einfach viel zu viele Themengebiete, um alles abdecken zu können.


@TE: Womit hast du eigentlich die GUIs erstellt (IDE?)? ich musste nämlich jetzt irgendwie an Visual Studio denken ^^


----------



## crusherd (19. Februar 2013)

Selbst im Studium habe ich erst mit c++ angefangen und dann erst mit c/assembler/Java... weitergemacht.

Ich würde dir empfehlen mit c/c++ oder Java anzufangen und wenn du Erfahrung gesammelt hast, eine andere Sprache zu lernen oder größere Projekte anzupacken.

Gruß
crusherd


----------



## Leandros (19. Februar 2013)

*AW: Programmieranfänge*



crusherd schrieb:


> Ich würde dir empfehlen mit c/c++ oder Java anzufangen und wenn du Erfahrung gesammelt hast, eine andere Sprache zu lernen oder größere Projekte anzupacken.


 
Sinn macht es erst mit C++ anzufangen, kannst du C++ kannst du nämlich auch Java. Was anders rum leider nicht so ist (ich habe es anders rum gemacht ).


----------



## DarkMo (19. Februar 2013)

*AW: Programmieranfänge*



freecrac schrieb:


> Es geht doch nur um das Programmieren


 das is gut ^^ EBEN, er will nur was proggen, ned was bootbares schreiben >< wenn er auf nem quick&dirty way seine ersten erfolge erzielt: is doch super! warum irgendwas wie funzt (oder eben nich) und die hintergründe all dessen, kann man sich später auch noch aneignen. dabei verbessert man auch seinen stil usw usf - das is sicher das, was du meinst. aber er schert sich doch erstma nen feuchten kericht um all die hintergründe. c und son zeug gibts ja extra, damit man sich NICHT (zwingend) damit befassen muss ^^

ich denke, keiner hier ist der meinung, das zuviel grundlagen wissen falsch is  aber einen einsteiger erschlägt sowas doch einfach nur. ein einsteiger will schnelle kleine erste erfolge und sich dann nach und nach um die details kümmern. nich umsonst fängt ein rollenspiel mit levels an, die nach 3 4 mobs erreicht sind  keiner würde auf die idee kommen, den spieler erstmal 3tage lang in die wiki zum lesen zu schicken xD


----------



## 14Hannes88 (19. Februar 2013)

*AW: Programmieranfänge*



bingo88 schrieb:


> Dafür guckt man sich ein paar Seiten bei Wikipedia an, wenn man es denn unbedingt wissen will.
> 
> 
> Eben, nicht umsonst gibt es für alles Spezialisten. Es gibt heutzutage einfach viel zu viele Themengebiete, um alles abdecken zu können.
> ...


 
Was meinst du? Die Entwurfsbilder? Visual Studio würde auch gehen dort ist aber blöd das man in der express edition nur eine sprache benutzen kann...


----------



## bingo88 (19. Februar 2013)

*AW: Programmieranfänge*



14Hannes88 schrieb:


> Was meinst du? Die Entwurfsbilder? Visual Studio würde auch gehen dort ist aber blöd das man in der express edition nur eine sprache benutzen kann...


 Ja, ich meine welches Tool du für das Erstellen der GUIs verwendet hast (du hast ja ein paar Bilder hochgeladen).

Du kannst auch alle Express Editions parallel installieren, um so den Support für alle Sprachen zu bekommen.


----------



## Leandros (19. Februar 2013)

*AW: Programmieranfänge*



14Hannes88 schrieb:


> Visual Studio würde auch gehen dort ist aber blöd das man in der express edition nur eine sprache benutzen kann...


 
Herzlich Willkommen bei Microdoof.


----------



## 14Hannes88 (19. Februar 2013)

*AW: Programmieranfänge*



bingo88 schrieb:


> Ja, ich meine welches Tool du für das Erstellen der GUIs verwendet hast (du hast ja ein paar Bilder hochgeladen).
> 
> Du kannst auch alle Express Editions parallel installieren, um so den Support für alle Sprachen zu bekommen.



naja, die sind noch nicht geschrieben, sondern das sind einfach mockup-skizzen von firefox pencil... das soll mir bei der Planung helfen. Damit ich mir mein endprodukt besser vorstellen kann. Die GUI´s werde ich ja dann entweder im Eclipse oder im QT schreiben.


----------



## bingo88 (19. Februar 2013)

*AW: Programmieranfänge*

Ah okay, das kannte ich jetzt nicht ^^ Ich hatte jetzt halt nur irgendwie das Gefühl, du designst das z. B. mit Visual Studio. Dann hättest du es nämlich direkt z. B. mit C# implementieren können und wir hätten uns das hier mehr oder weniger sparen können 
Aber vorbildlich, dass du dir da vorher Gedanken drüber machst


----------



## 14Hannes88 (19. Februar 2013)

*AW: Programmieranfänge*

THX

naja ich glaube ohne das würde ich wahrscheinlich nicht ganz fuß fassen können. In meiner Ausbildung war auch immer alles auf Planung ausgelegt, deshalb ist das jetzt fast wie eine angelernter Reflex.


----------



## bingo88 (19. Februar 2013)

*AW: Programmieranfänge*



14Hannes88 schrieb:


> THX
> 
> naja ich glaube ohne das würde ich wahrscheinlich nicht ganz fuß fassen können. In meiner Ausbildung war auch immer alles auf Planung ausgelegt, deshalb ist das jetzt fast wie eine angelernter Reflex.


 Das ist auch gut so, einige meiner privaten Projekte haben früher oder später mangels Planung im Chaos geendet. Ich war einfach zu faul, mich vorher damit zu befassen (wenn man das schon alles auf der Arbeit macht, hat man irgendwie nicht mehr so richtig Lust). Jetzt habe ich mir eine Art Scrum angewöhnt, immer schön kleine Häppchen über einen fest definierten Zeitrahmen.


----------



## crusherd (19. Februar 2013)

Als Compiler würde ich dir clang empfehlen. Mit dem kannst du auch c++ programmieren und er soll besser als gcc oder g++ sein, da er eine bessere Hilfestellung bei Fehlern angibt. Getestet habe ich das persönlich noch nicht.

Hier der Link:
http://clang.llvm.org/

Gruß
crusherd


----------



## 14Hannes88 (21. Februar 2013)

*AW: Programmieranfänge*

Also ich habe mich jetzt für Qt entschieden... ich habe mir einige Doku´s reingezogen und die waren selbst für anfänger leicht verständlich. Der Qt-designer ist in der GUI-Programmierung echt empfehlenswert und für anfänger ein guter Einstieg. Aber eine Frage hat sich mir doch aufgetan: Wie kann man eine externe Datenbank in ein Programm einbinden? Muss man da jedes mal die treiber mit in das Programm laden? Ich möchte auf eine externe DB setzen damit diese von meheren leuten verwendet werden kann, dass Programm ansich soll sozusagen nur ein Frontend sein... Am einfachsten wäre dies mit php gewesen ist mir aber zu blöd da dies kein Standalone wäre und man jedes mal einen lokalen webserver laufen lassen müsste. Bisher habe ich auch gesehen das einige Editoren dies unterstützen und man die SQL-Befehle mit in den Code implementiert um zum beispiel eine Abfrage zu definieren.... aber irgendwie muss man doch erstmal eine Verbindung zur db herrstellen... das ist bisher das was ich nicht verstehe.


----------



## Leandros (21. Februar 2013)

*AW: Programmieranfänge*

Könntest auf einen MySQL Server im lokalen intranet connecten, die muss dann allerdings auch auf irgendeinem Server laufen.


----------



## 14Hannes88 (28. Februar 2013)

*AW: Programmieranfänge*

moin,

es ist mir fast schon peinlich nachzufragen... mache es aber trotzdem.

Ich hänge hier gerade an einem Tutorial für C/C++ für Qt... in diesem tutorial geht es darum einen Texteditor zu schreiben... doch irgendwie scheitert es schon an der eingabe Qapplication. In Qt sagt er "no such file or directory". Hat sich da irgendetwas im laufe der zeit bei qt geändert? laut mr. google soll es an einem veralteten qmake liegen...

ich habe dann einfach mal versucht das programm ausführbar zu machen über die shell und dort sagt er das minGW-make nicht vorhanden sei.... versteht ich nicht... es wurde ja installiert. andere Befehle wie qmake oder make habe ich schon versucht, geht ebenfalls nicht.


Hier ist erstmal der source code:


```
[COLOR=#000080]#include[COLOR=#008000]<QApplication> [COLOR=#000080]
#include[COLOR=#008000]<QTextEdit> 
[COLOR=#808000]int[COLOR=#000000]main[COLOR=#000000]([COLOR=#808000]int[COLOR=#000000]argv[COLOR=#000000],[COLOR=#808000]char[COLOR=#000000]**[COLOR=#000000]args[COLOR=#000000]) [COLOR=#000000]
{ 

QApplication[COLOR=#000000]app[COLOR=#000000](argv[COLOR=#000000],args[COLOR=#000000]; 
QtextEdit[COLOR=#000000]textEdit[COLOR=#000000]; [COLOR=#000000]
textEdit[COLOR=#000000].show[COLOR=#000000](); 
[COLOR=#808000]return[COLOR=#000000]app[COLOR=#000000].exec[COLOR=#000000](); [COLOR=#000000]

}
```


----------



## Leandros (28. Februar 2013)

*AW: Programmieranfänge*

Kann es sein das am Ende von QApplication eine Klammer fehlt? ^_^

Namespaces werden übrigens mit :: angesprochen. 
Also z.B QApplication::randomBefehl();

Habe mich mit Qt noch nie beschäftigt, sind nur Vermutungen.


----------



## 14Hannes88 (28. Februar 2013)

*AW: Programmieranfänge*

das mit der klammer habe ich schon gefixt

und das andere so hier?:


```
#include <QApplication>::randomBefehl()
```

oder wie? dann versteh ich das aber nicht wieso das im tutorial nicht vermerkt ist....


----------



## Leandros (28. Februar 2013)

*AW: Programmieranfänge*

Nein, nicht den include. Den Befehl.

Edit: z.B QApplication::app();


----------



## 14Hannes88 (28. Februar 2013)

*AW: Programmieranfänge*

Wieso wird dann in meheren tutorials mit include angegeben? 

kann es sein das ich dies erst im header vermerken muss?


----------



## Leandros (28. Februar 2013)

*AW: Programmieranfänge*

Du musst es trotzdem includen. Teste dich einfach alles durch.  

#include 

QApplication::app();

Gibt auch noch, using namespace


----------



## 14Hannes88 (28. Februar 2013)

*AW: Programmieranfänge*

hier zum beispiel ganz simpel... habe es jetzt mal so gemacht, selbst bei diesem teil geht es nicht:


```
[COLOR=#000080]#include[COLOR=#008000]<QApplication> 
[COLOR=#000080]#include[COLOR=#008000]<QPushButton> 
[COLOR=#808000]int[COLOR=#000000]main[COLOR=#000000]([COLOR=#808000]int[COLOR=#000000]argc[COLOR=#000000],[COLOR=#808000]char[COLOR=#000000]*[COLOR=#000000]argv[COLOR=#000000][]) 
[COLOR=#000000]{ 

QApplication[COLOR=#000000]::app[COLOR=#000000]([COLOR=#000000]argc[COLOR=#000000],[COLOR=#000000]argv[COLOR=#000000]); 
QPushButton[COLOR=#000000]::hello[COLOR=#000000]([COLOR=#008000]"Hello World!"[COLOR=#000000]); 
hello[COLOR=#000000].resize[COLOR=#000000]([COLOR=#000080]100[COLOR=#000000],[COLOR=#000080]30[COLOR=#000000]); 
hello[COLOR=#000000].show[COLOR=#000000](); 
[COLOR=#808000]returnapp[COLOR=#000000].exec[COLOR=#000000](); [COLOR=#000000]

}
```
Es kommt immer:"QApplication:No such file or directory"


----------



## Leandros (28. Februar 2013)

*AW: Programmieranfänge*

int main und nicht intmain. 
und return app.exec(); 

Aber dem Error zufolge, wird es daran liegen das die Header (includes) fehlen.


----------



## 14Hannes88 (28. Februar 2013)

*AW: Programmieranfänge*



Leandros schrieb:


> int main und nicht intmain.
> und return app.exec();
> 
> Aber dem Error zufolge, wird es daran liegen das die Header (includes) fehlen.


 
laut tutorial soll es so gehen.... ich versteh die welt nicht mehr. Im Header sagt er das selbe. Außerdem würde qt meckern wenn die syntax falsch wäre oder nicht?

Edit: achso das meinste, das liegt am board der lässt das alles immer so zusammengefügt. wenn ich das hier einfüge meine ich.


----------



## Leandros (28. Februar 2013)

*AW: Programmieranfänge*

Das ist cpp. Jeder scheint seinen eigenen Compiler zu entwickeln ... versuch doch mal alles mit g++ zu compilen.

Hier, compile mal mit 





> g++: g++ -L/usr/include/qt3 -I/usr/include/qt3 hello.cpp -o hello


----------



## 14Hannes88 (28. Februar 2013)

*AW: Programmieranfänge*

ich bekomme übrigens folgende meldung:


```
[COLOR=#0000aa]12:44:00: Führe Schritte für Projekt Test aus... [COLOR=#0000aa]12:44:00: Unveränderte Konfiguration, qmake-Schritt wird übersprungen. [COLOR=#0000aa]12:44:00: Starte "C:\Qt\Qt5.0.1\Tools\MinGW\bin\mingw32-make.exe"  [COLOR=#000000]C:/Qt/Qt5.0.1/Tools/MinGW/bin/mingw32-make -f Makefile.Debug [COLOR=#000000]mingw32-make[1]: Entering directory 'E:/QT_Projekte/Test/Test-build-Desktop_Qt_5_0_1_MinGW_32bit-Debug' [COLOR=#000000]g++ -c -pipe -fno-keep-inline-dllexport -g -frtti -Wall -Wextra -fexceptions -mthreads -DUNICODE -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -DQT_NEEDS_QMAIN -I..\Test -I"C:\Qt\Qt5.0.1\5.0.1\mingw47_32\include" -I"C:\Qt\Qt5.0.1\5.0.1\mingw47_32\include\QtGui" -I"C:\Qt\Qt5.0.1\5.0.1\mingw47_32\include\QtCore" -I"debug" -I"." -I"C:\Qt\Qt5.0.1\5.0.1\mingw47_32\mkspecs\win32-g++" -o debug\Text_Editor.o ..\Test\Text_Editor.cpp [COLOR=#aa0000]..\Test\Text_Editor.cpp:1:24: fatal error: QApplication: No such file or directory [COLOR=#aa0000]compilation terminated. [COLOR=#000000]Makefile.Debug:121: recipe for target 'debug/Text_Editor.o' failed [COLOR=#aa0000]mingw32-make[1]: *** [debug/Text_Editor.o] Error 1 [COLOR=#000000]mingw32-make[1]: Leaving directory 'E:/QT_Projekte/Test/Test-build-Desktop_Qt_5_0_1_MinGW_32bit-Debug' [COLOR=#000000]makefile:34: recipe for target 'debug' failed [COLOR=#aa0000]mingw32-make: *** [debug] Error 2 [COLOR=#aa0000]12:44:01: Der Prozess "C:\Qt\Qt5.0.1\Tools\MinGW\bin\mingw32-make.exe" wurde mit dem Rückgabewert 2 beendet. [COLOR=#aa0000]Error while building/deploying project Test (kit: Desktop Qt 5.0.1 MinGW 32bit) [COLOR=#aa0000]Bei der Ausführung von Schritt 'Make'
```


----------



## DarkMo (28. Februar 2013)

*AW: Programmieranfänge*

wo liegen denn deine header? bei #include <header> sucht er in den systemverzeichnissen. wenn du die aber im projektordner hast, wird das kein systemverzeichnis für includes sein  soll ers ausm projektordner nehmen, musst du gänsefüschen statt eckiger klammern nehmen: #include "header"

is nurn schuss ins blaue, aber probiers mal. hast also 2 möglichkeiten: gänsefüßchen probieren oder header in das systemverzeichnis da kopieren.


----------



## Leandros (28. Februar 2013)

*AW: Programmieranfänge*

Er compiled ja mit qmake, was das eigentlich alleine machen sollte. 
Ich kann da allerdings auch nicht helfen, hab kein Plan wie das bei Windows läuft. 

Mein Vorschlag steht oben, mach es mit g++.


----------



## 14Hannes88 (1. März 2013)

*AW: Programmieranfänge*



DarkMo schrieb:


> wo liegen denn deine header? bei #include <header> sucht er in den systemverzeichnissen. wenn du die aber im projektordner hast, wird das kein systemverzeichnis für includes sein  soll ers ausm projektordner nehmen, musst du gänsefüschen statt eckiger klammern nehmen: #include "header"
> 
> is nurn schuss ins blaue, aber probiers mal. hast also 2 möglichkeiten: gänsefüßchen probieren oder header in das systemverzeichnis da kopieren.



also die liegen im Projektordner auf der zweiten partition, während Qt auf C installiert ist... hat das Qt etwa ein Problem damit?.


----------



## Leandros (1. März 2013)

*AW: Programmieranfänge*

Du siehst doch das Qt ein Problem mit hat. ^_^


----------



## 14Hannes88 (1. März 2013)

*AW: Programmieranfänge*

also würde es reichen wenn ich den den Projektordner lieber auf C anlege... richtig?


----------



## Leandros (1. März 2013)

*AW: Programmieranfänge*

Probieren geht über Studieren. Denke aber nicht. 

Würde dir immer noch empfehlen einfach den oben geposteten g++ Befehl zu kopieren und die Pfade anzupassen.


----------



## Dragonix (2. März 2013)

*AW: Programmieranfänge*

Zeig mal deine .pro Datei.
Füg da mal entweder an der richtigen Stelle noch ein QT+=widgets ein (guter Weg, sofern er stimmt), oder inkludier QtWidgets/QApplication (schlechterer Weg, sofern er geht).
Ich meine bei Qt5 ist einiges (alles?) aus QtGui (was du scheinbar in deiner .pro Datei drinhast, was man anhand

```
-I"C:\Qt\Qt5.0.1\5.0.1\mingw47_32\include" -I"C:\Qt\Qt5.0.1\5.0.1\mingw47_32\include\[b]QtGui[/b]" -I"C:\Qt\Qt5.0.1\5.0.1\mingw47_32\include\QtCore"
```
sieht) in QtWidgets gewandert. Durch das Hinzufügen in der .pro Datei müsste er dir automatisch noch den QtWidgets unterordner als "Include-Suchpfad" ergänzen. Ich meine mal sowas gehört zu haben, aber hab schon länger nichts mehr mit Qt gemacht.
Ich weiß zwar nicht welche Tutorials du dir anschaust, aber für'n Anfang würd ich mich unbedingt mal auf der Qt Seite umschauen und nicht auf $random-tutorial zurückgreifen.

Allgemeiner Lösungshinweis: Such doch einfach die Datei und versuch dann rauszufinden, warum qmake sie nicht in diesem Pfad sucht.


----------

