Hi,
ich habe mich endlich dazu durchgerungen mal Programieren zu lernen. Dazu habe ich mir mal Delphi 6 aus dem Internet geladen. So und nu? Das einzige was ich geschafft habe ist einen kleinen Taschenrechner zu machen. Ich will aber kleine Windowsanwendungen schreiben die z.B Resistry-Einträge machen, Textdateien öffnen und dann bestimmte Zeichen durch andere ersetzen, Dateien kopieren (z.B. für ein Setup), oder einfach nur eine Autostartmenü für eine CD. Das Problem dabei ist das ich einfach keine Hilfe im Internet finde. Die ganzen EinsteigerToturial gehen immer sofort auf Datenbanken und Multimedia Anwendungen. Das mag ja die große Stärke von Delphi sein aber das nützt mir nichts. Ich bräuchte nun also irgend wie Hilfe z.B eine "Befehlsübersicht" von Delphi oder so. Oder habe ich mir mit Delphi das falsche ausgesucht um so was zu machen???
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
Hi!
Nein, du hast dir schon das richtige ausgesucht - allerdings ist es halt auch nicht anders als bei Autos: du findest fast nur Reiseberichte von sehr weiten bzw. aufwendigen Reisen (Quer durch die Sahara; Mit dem Jeap von Alaska bis nach Chile;...), den Weg zum nächsten Supermarkt wird dagegen fast gar nicht in Büchern beschrieben. ;-)
OK, was tun?
Wenn ich mich in eine neue Programmiersprache einarbeiten muss, dann hab' ich immer auch ein Buch zur Hand. In der Regel irgendein Nachschlage-Werk oder einfach eine Referenz.
Damit kommt man dann eigentlich ganz gut weg, wenn man schonmal programmiert hat und weiss, was geht - bzw. weiss, wo man Info findet, seine Wünsche in der neuen Sprache umzusetzen.
Allerdings ist das auch der Haken: gewisse Grundlagen muss man kennen.
Du sagst, du fängst gerade an Programmieren zu lernen. Seht gut, das ist der erste wichtige Schritt.
Der zweite ist sich jetzt die "Werkzeuge" für die "tägliche Programmierarbeit" zuzulegen und damit meine ich nicht irgendwelche Programme zu kaufen.
Ich meine die Programmiergrundlagen. Wenn du ein Programm schreiben willst, dass Zeichen in einer Textdatei ersetzen willst, dann musst du eine Vorstellung haben, wie das geht.
Dateien bestehen aus Bytes.
Texte bestehen aus Zeilen.
Zeilen bestehen aus Zeichen.
Natürlich gibt es in jeder Programmiersprache Zeilen einer Textdatei zu lesen und zu speichern (in einer String-Variablen).
Die String-Variable durchsucht man nach dem zu ersetzenden Text (dazu gibt's i.d.R. vorhandene Funktionen) und ersetzt den dann durch den neuen Text. Den nun (evtl.) geändrten String speichert man dann in einer neuen (anderen Datei) ab, dann liest man die nächste Zeile.
Zum Schluss löscht man die ursprünglische Textdatei und benennt die neue um, so dass sie den Namen der vorher gelöschten Datei bekommt.
Sowas geht in jeder Programmiersprache, nur musst du dir jetzt die richtigen Befehle zusammen suchen.
Delphi bringt eine Umfangreiche Befehlsübersicht mit (Onlinehilfe). Da gibt es auch die Befehlsübersicht, die du suchst.
Hier eine kleine Wegbeschreibung (zum Supermarkt): ;-)
(Ich hab' allerdings nur ein englisches Delphi 4, aber die beschriebenen Hilfspunkte sollte es auch der 6er Version geben.)
Bei Delphi im Hauptmenü auf Hilfe klicken und "Inhalt (Contents)" wählen. In der Inhaltsübersicht sollte der Punkt "Object pascal reference" aufgeführt sein.
Object Pascal ist die Sprache von Delphi. Grundlagen zu den Basis-Befehlen und Variablen findet man hier.
Der Punkt, der das Behandeln von Textdateien (u.a.) erklärt ist "Standard Routines and I/O". Hier gibt es dann den Unterpunkt "File input and output".
Du wirst feststellen, dass man dort keine Beispiele findet. Der Grund ist, dass diese Hilfe nur ein Nachschlage-Werk ist. Beispiele solltest du im Internet finden, wenn du nach Grundlagen zur Pascal-Programmierung suchst (ein Beispiel für Delphi gibt's hier).
Weiter geht's. Registry? Die ist Bestandteil von Windows, also muss man in dieser Richtung suchen. Windows ist ein Betriebssystem. Ein Betriebssystem besitzt umfangreiche Funktionen, die von Programmen genutzt werden können. Der Begriff, der diese Funktionssammlung beschreibt ist API (Application Programming Interface).
Zur Windows API gibt's in der Delphi-Hilfe einen eigenes Unterkapitel:
Win32 Programmers Reference (ich kann die bei mir nicht direkt von Delphi auf aufrufen; es geht nur über das Startmenü - irgendwo hakts halt immer...)
Zieh' den Kopf ein, das Ding ist gross. Hier nutzt die Übersicht nichts, du musst dich über den Index durchkämpfen (Suche "registry").
Frag' mich aber nicht, wie man die Funktionen nutzt, die dort aufgeführt wurden - soweit bin ich auch noch nicht. ;-)
Bleibt noch der Autostart. Hast du schonmal eine Autostart-CD untersucht? Die hat im Hauptverzeichnis die Datei Autorun.inf. Das ist eine normale Textdatei, die man z.B. mit Notepad öffnen kann.
Di kann so ausehen:
[AUTORUN]
ICON=start.ICO
OPEN=start.EXE
Hinter Open steht der Name eines Ausführbarendatei, die man z.B. mit Delphi erstellen kann. Ein Menü mit Buttons wirst du schnell programmieren können, fehlt nur noch der Hinweiss, wie man Programme von Delphi aus startet: WinExec() oder ShellExecute()
Beides sind wieder Funktionen der Windows-API...
Ich hoffe, du hast jetzt ein Gefühl bekommen, wo und wie man suchen muss, um an die Info zu kommen, die man benötigt.
Falls nicht... ;-)
Bis denn
Andreas
Hi Darkmonk,
da Du bisher noch gar nicht programmiert hast kann ich Dir nur das Buch "Jetzt lerne ich Delphi" empfehlen. Damit kannst Du problemlos und ohne Vorkenntnisse in die Delphi Programmierung einsteigen. Das Buch beginnt mit einer Einführung in die Delphi-IDE und endet mit Einblicken in die Komponentenentwicklung und Verwendung von DLLs.
Für den Einstige in die Windowsprogrammierung hast Du Dir mit Delphi genau das richtige ausgesucht! Glückwunsch.
Registry:
Auf die Registry kannst du mit "TRegistry" zugreifen.
Such mal im Index der Delphi Hilfe nach "TRegistry", dann findest Du eine genaue Beschreibung.
Programme starten:
Wie schon Andreas42 gepostet hat, kannst Du mit WinExec() oder mit ShellExecute() programme ausführen und registrierte Dateien öffnen.
WinExec() solltest Du nicht mehr verwenden, da es sich um eine alte Funktion noch aus Windows 3.1 Zeiten handelt und nicht mehr zwangsläufig weiter unterstützt wird.
Verwendung von ShellExecute:
ShellExecute(MainForm.Handle, 'open', %Programmdatei%, %Aufrufparameter%, '', SW_SHOWNORMAL);
statt SW_SHOWNORMAL kannst Du auch
SW_SHOWMAXIMIZED und SW_SHOWMINIMIZED verwenden
Wichtig: Damit es funktioniert musst Du die Unit ShellAPI in der uses Klausel deklarieren.
CU Borlander
Am besten ist es dafür nicht Delphi zu nehmen sondern eine richtige Programmiersprache.(C++ z.B.)Wenn Du allerdings in der Schule schon mehrmals sitzen geblieben bist ist das richtige.
Na ja ich bin ja froh das du es nicht so wie die anderen beiden hälts und endlich mal etwas vernüpftiges und Qualifiziertes
von dir gibst :-(
Ich bin übrigens nicht in der Schule sitzengebliben und komme sehr gut mit Delphi zurecht. Einfach, gut zu bedienen und trotzdem alles machbar was ich brauche!
PS: Nochmals besten Dank an die ersten beiden Schreiber. Und das ist jetzt ernst gemeint!