Hier findet ihr häufig gestellte Fragestellungen
von Delphi Einsteigern und (Links zu) Antworten.
(Ohne Anspruch auf Vollständigkeit!)
//------------------------------------------------------------------
1. Icon "rechts unten" neben der Uhr?
//------------------------------------------------------------------
Ähnliche Fragestellungen:
Wie kann man ein Programm als Icon neben die Uhr bringen?
Programm beim Minimieren in die
TNA?
Icon in Symbolleiste (unten rechts)?
Der Bereich neben der Uhr heisst
TNA (Tray-Notification-Area).
MSDN Doku der Shell_NotifyIcon Funktion:
http://msdn2.microsoft.com/en-us/lib...59(VS.85).aspx
CoolTrayIcon Komponente (Mit Balloon-Tipps, animierte Icons, Text Icons usw.)
http://subsimple.com/download/CoolTrayIcon.zip
TNA Tutorial (nonVLC/
VCL)
http://www.michael-puff.de/Developer...orials_pdf.pdf
//------------------------------------------------------------------
2. Ein externes Programm starten?
//------------------------------------------------------------------
Ähnliche Fragestellungen:
Wie kann man aus einem Programm eine andere Anwendung oder Datei starten?
Wie kann ich ein externes Programm / einen Link starten?
Suche im Forum, Google nach ShellExecute(), ShellExecuteEx(), CreateProcess(),
WinExec (Sollte nicht mehr verwendet werden, ist nur noch aus Kompatibilitätsgründen vorhanden)
Microsoft CreateProcess Doku:
http://msdn2.microsoft.com/en-us/library/ms682425.aspx
Microsoft ShellExecute Doku:
http://msdn2.microsoft.com/en-us/library/bb762153.aspx
Microsoft ShellExecuteEx Doku:
http://msdn2.microsoft.com/en-us/lib...54(VS.85).aspx
Wie öffne ich eine
HTML-Datei im Standard Webbrowser?
Mit ShellExecute() und 2. Parameter 'open' und beim 3. Parameter die
URL angeben.
http://www.swissdelphicenter.ch/de/showcode.php?id=490
Ein Programm starten und warten, bis es beendet ist?
Mit CreateProcess() oder ShellExecuteEx()
http://www.swissdelphicenter.ch/de/showcode.php?id=93
Standard E-Mail Client öffnen:
http://www.swissdelphicenter.ch/de/showcode.php?id=111
//------------------------------------------------------------------
3. Strg + Alt + Entf verhindern?
//------------------------------------------------------------------
Ähnliche Fragestellungen:
Wie kann man ALT + F4 oder Strg + Alt + Entf abfangen?
Strg + Alt + Enf sperren bei NT?!
Strg + alt + Enf verhindern?
Informationen von Microsoft:
http://msdn.microsoft.com/msdnmag/is...A/default.aspx
Gina Hook (Strg + Alt + Enf verhindern)
http://www.delphipraxis.net/download.php?id=32142
Den Taskmanager deaktivieren:
http://www.swissdelphicenter.ch/de/showcode.php?id=48
Gina Ersatz:
http://wwwthep.physik.uni-mainz.de/~frink/nt.html
//------------------------------------------------------------------
4. Wie kann ich Delphi + Excel automatisieren?
//------------------------------------------------------------------
Ähnliche Fragestellungen:
Wie kann man mit Delphi Word und Excel fernsteuern (
OLE)?
COM/
OLE/
DDE
http://www.tipps.delphi-source.de/COM_OLE_DDE/index.php
Automation with Delphi
http://www.djpate.freeserve.co.uk/Automation.htm
Delphi and Microsoft Office: Automating Excel and Word - by Charles Calvert
http://community.borland.com/article...,10126,00.html
http://community.borland.com/article...,10127,00.html
http://community.borland.com/article...,10128,00.html
http://community.borland.com/article...,10129,00.html
http://community.borland.com/article...,10130,00.html
Delphi and Word Part II - by Charles Calvert
http://dn.codegear.com/article/10043
Delphi
COM Essentials
http://www.techvanguards.com/stepbys...phi/client.asp
Delphi/MSWord Automation FAQ
http://www.softmosis.ca/node/74
About Delphi
COM Programming
http://delphi.about.com/cs/comoleactivex/index.htm
Wie kann ich ein Stringgrid nach Excel exportieren?
http://www.swissdelphicenter.ch/de/showcode.php?id=1728
Eine Excel Datei ohne
OLE erstellen. (schnell)?
Export von Daten in ein Exelformat?
http://www.swissdelphicenter.ch/de/showcode.php?id=725
//------------------------------------------------------------------
5. Dateien in einem Verzeichnis auflisten?
//------------------------------------------------------------------
Ähnliche Fragestellungen:
Ordner auflisten?
Unterordner eines Pfades anzeigen?
Alle Dateien in einem Verzeichnis löschen?
Festplatte / Partitionen nach bestimmter Datei durchsuchen?
Durchsuchen der Festplatte?
Stichworte:
FindFirst,
FindNext
//------------------------------------------------------------------
6. Dateien, Verzeichnisse kopieren, verschieben, löschen...?
//------------------------------------------------------------------
Stichworte:
CreateDir, RemoveDir, CopyFile, DeleteFile, RenameFile, RemoveDir,
ShFileOperation
API.
//------------------------------------------------------------------
7. Das eigene Programm nur einmal starten?
//------------------------------------------------------------------
Ähnliche Fragestellungen:
Wie kann ich einen mehrmaligen Aufruf meines Programmes verhindern?
Wie kann ich nur eine Instanz meines Programms zulassen?
Stichworte:
CreateMutex
CreateSemaphore
GlobalAddAtom, GlobalFindAtom
Beispiel:
http://www.swissdelphicenter.ch/de/showcode.php?id=42
//------------------------------------------------------------------
8. Enter anstatt Tabulator?
//------------------------------------------------------------------
Ähnliche Fragestellungen:
Wie kann man mit Enter zur nächsten Eingabe springen?
Edit-Komponenten über Enter anspringen?
Focus bei ENTER ändern / Mit Enter Tabulatorsprung?
Der Trick dabei ist, im OnKeyPress Ereginis der Form den Key auf
auf #13 (Virt. Code für Enter) zu überprüfen, dann den Key auf
#0 zu setzen (d.h den Key zu ignorieren) und dann per PostMessage
WM_NEXTDLGCTL zu senden.
Beispiel:
http://www.swissdelphicenter.ch/de/showcode.php?id=719
//------------------------------------------------------------------
9. Den Programmpfad herausfinden?
//------------------------------------------------------------------
Ähnliche Fragestellungen:
Verzeichnis, in dem die Exe-datei liegt herausfinden?
Den Programmpfad zur Laufzeit ermitteln?
Paramstr(0) liefert den vollständigen Pfad + Name zur Exe-Datei.
Application.ExeName liefert den vollständigen Pfad + Name zur Exe-Datei.
Den Pfad einer
DLL kann man mit GetModuleFileName() ermitteln.
ExtractFilePath(Paramstr(0)) liefert den Pfad zur Exe-Datei.
ExtractFileName(Paramstr(0)) liefert den Namen der Exe Datei ohne Pfad
//------------------------------------------------------------------
10. In einem Editfeld nur Zahlen erlauben?
//------------------------------------------------------------------
Beispiele:
http://www.delphi-forum.de/viewtopic.php?t=9065
http://www.swissdelphicenter.ch/de/showcode.php?id=110
//------------------------------------------------------------------
11. Tasten, Mausereignisse ausserhalb der Anwendung abfangen / einen Hook installieren?
//------------------------------------------------------------------
Mit RegisterHotKey() kann ein systemweiter Hotkey registriert werden.
Beispiel:
http://www.swissdelphicenter.ch/de/showcode.php?id=147
Mit einem Tastaturhook (SetWindowsHookEx) kann man Tasten ausserhalb
der Anwendung abfangen:
http://www.swissdelphicenter.ch/de/showcode.php?id=1722
Hook Tutorials:
http://www.tutorials.delphi-source.de/hooks/
http://www.delphi-treff.de/content/tutorials/hooks/
Delphi DLLs in Hooks and
COM Objects:
http://www.mustangpeak.net/hooks.htm
IAT updating, code overwriting (uses DISASM32 for this), and library injection:
http://users.adelphia.net/~rllibby/d.../win32hook.zip
Windows Tasten etc. blockieren:
http://walkboy.by.ru/components/KhUtilsD9.zip
Maus Ereignisse ausserhalb der eigenen Anwendung abfangen:
z.B mit WH_JOURNALRECORD-Hook:
http://www.swissdelphicenter.ch/de/showcode.php?id=1729
//------------------------------------------------------------------
12. Delphi + TWebbrowser, TEmbeddedWB:
//------------------------------------------------------------------
Der TEmbeddedWB ist eine bessere alternative zum TWebBrowser.
Er ist eine Erweiterung vom TWebbrowser und
hat einige Bugs vom TWebbrowser behoben.
Er implementiert u.a. den IDocHostUIHandler und IDocHostShowUI.
Download
URL:
[
URL]www.bsalsa.com/downloads (oder bei
www.torry.net)
Mini Webbrowser Demo:
http://www.crystalline.ch/downloads/...rowserDemo.zip
Tipps/Code zum Webbrowser
Über 40 Tipps zum WB:
HTML document from inside of your application:
http://dn.codegear.com/article/26402
Teach Yourself Borland Delphi 4 in 21 Days:
http://www.cesis.lv/learn/delphi/apc.htm
MSHTML_TLB importieren:
http://dn.codegear.com/article/0,1410,10043,00.html
STARTING THE BASIC BROWSER /einen einfach Webbrowser Programmieren
http://www.d.burgess.clara.net/bbrowser_3.htm
Gute Delphi Webbrowser Newsgroup mit über 10000 Fragen & Antworten zum TWebbrowser
http://groups.yahoo.com/group/delphi...owser/messages
Dokumentation:
Microsoft WebBrowser:
http://msdn2.microsoft.com/en-us/library/Aa752085.aspx
HTML Document Object Model:
http://msdn2.microsoft.com/en-us/library/ms531073.aspx
//------------------------------------------------------------------
13. Delphi Tutorials?
//------------------------------------------------------------------
Ähnliche Fragestellungen:
Wo kann ich Delphi-Tutorials oder Onlinebücher im Internet finden?
Wo kann ich Seiten mit Infos für Delphi Anfänger im Internet finden?
Programmiersprache Pascal - [Nur Pascal aber sehr ausführlich]:
http://www.fh-jena.de/~gmueller/Kurs_halle
Essential Pascal - [Ausführliche Einführung in Delphi Pascal]:
http://www.marcocantu.com/EPascal/German
Delphi-Source - [Ausführliche Einführung und Tutorials]:
http://www.delphi-treff.de/sprachen/object-pascal/
http://www.tutorials.delphi-source.de/index.php
Delphi Kurs für Anfänger - [Einführung]:
http://www.xcalibur.co.uk/training/Delphi2005/index.php" target="_blank">http://www.swissdelphicenter.ch/de/t...2005/index.php
GK INformatik 12/13 - [Gute Einführung in einigen Delphibereichen]:
http://www.sgki.es.bw.schule.de/KURSE/INFORMAT
NOEBIS - [Einführung in das Programmieren mit DELPHI mit Projekten]:
http://noebis.pi-noe.ac.at/noebis.ph...lphi/index.htm
Delphi-Grundkurs Inhalt - [Einfache Einführung]:
http://www.bergt.de/workshop/delphi/inhalt.htm
Einführung in das Programmieren mit DELPHI - [Einfache Einführung]:
http://www.cfg-hockenheim.de/faecher...hi/delphi.html
Programmieren mit Delphi - [kk]:
http://www.gymmelk.ac.at/~nus/Delphi/index.php
//------------------------------------------------------------------
14. Delphi Header Dateien (C/C++ nach Delphi übersetzen)
//------------------------------------------------------------------
Delphi
Jedi (Header Übersetzungen)
http://www.delphi-jedi.org/
Delphi-
JEDI+: Liste von
API Header Übersetzungen
http://www.pjh2.de/jediplus/delphi/y...index.php?l=de
Using C DLLs with Delphi
http://www.drbob42.com/delphi/headconv.htm
HeadConv - C
DLL Header Converter v4.20
http://www.drbob42.com/headconv/index.htm
//------------------------------------------------------------------
15. Reguläre Ausdrücke in Delphi verwenden?
//------------------------------------------------------------------
http://members.aye.net/~bstowers/del...er/perlre.html (TPerlRe)
http://home.clear.net.nz/pages/niche/regex.html (Regex Library)
http://regexpstudio.com/TRegExpr/TRegExpr.html (TRegExpr)
//------------------------------------------------------------------
16. Delphi Coding Standards/ Konventionen?
//------------------------------------------------------------------
Delphi Coding Standard:
http://www.richardblouin.com/coding.htm
Delphi Coding Standards and Conventions
http://delphi.about.com/cs/standards/index.htm
//------------------------------------------------------------------
17. Wie soll ich Fragen stellen / Wo nach Antworten suchen?
//------------------------------------------------------------------
Das Verhalten in deutschen Newsgroups/ Foren:
http://www.delphi-treff.de/content/n...tte/index.php4
Zitate von Forum/Newsgroups Usern:
"je genauer die Frage, desto besser die Chancen auf sinnvolle Antworten."
"Es ist mir relativ egal, was jemand Programmieren will,
wenn ich dieser Person helfen will.
Was mich interessiert ist das konkrete Problem.
Eine Frage wie: "Ich möchte einen Dateimanager Programmieren wie geht das?"
Bringt weniger wie:"Wie kann ich eine Datei Kopieren". "
"Überflüssige Fragen gibt es nicht. Gefragt werden kann, was immer unklar ist.
Nur vorher sollte man sich die Mühe machen, in der Hilfe nachzuschauen bzw.
die Forensuchfunktion zu Rate ziehen."
"Wenn ich was suche, gehe ich nach
www.google.com, wechsle
in die Groups und suche in English und nicht in Deutsch.
Du kannst kein Englisch?
http://dict.leo.org/ liefert einen guten Übersetzungsdienst. "
"Weil man von Anfang an ja nicht sämtliche Komponenten programmiermäßig bedienen kann
tastet man sich eben an jede unbekannte Komponente heran. So wollte ich vor
langer Zeit mal wissen, wie die ListView Komponente so funktioniert,
da ich sie aus anderen Programmen bereits im Einsatz gesehen hatte.
Also wurde ein neues Testprojekt angelegt und in diesem mit Hilfe der
Hilfe alle Methoden und Eigenschaften der Reihe nach ausprobiert..."
"Ich glaub das wissen wir alle aus Erfahrung recht gut. Es geht nur darum
die ein und selbe Frage immer und immer wieder beantworten zu müssen
wenn es dazu doch FAQs gibt. Jede dumme Frage ist akzeptierbar wenn
man davon ausgehen kann das sich die entsprechende Person vorher die
Mühe gemacht hat erst mal in die OnlineHilfe zu schauen. Leider
verleitet das Forum dazu ohne ernsthaft über das Problem nachzudenken gleich
eine Frage zu schreiben. "Die anderen haben sicher eine Lösung für mich"
Ich halte das nicht für sonderlich Produktiv da man gerade durch solche
kleine Aktionen viel mehr dazulernt als wenn man sich einfach nur noch das
Antwort-Posting durchlesen muß.
Außerdem kann ich mir nicht vorstellen das schon je ein Programmierer
runtergemacht wurde der eine dumme Frage gestellt hat. Das einzige
was passieren kann ist, das in einem etwas schärferen Ton geantwortet
wird da die selbe Frage vielleicht schon 10mal in letzter Zeit gestellt
wurde. Es geht bei dieser Diskussion hier eigentlich nur darum das auch die
Neulinge zuerst ihr Gehirn einschalten und rumprobieren (was schon oft
geholfen hat) als gleich zu posten. Wenn man es danach noch immer nicht geschafft hat
kann man ohne weitere Bedenken hier posten. Ein kleiner Hinweis was man schon
alles ausprobiert hat währe vielleicht auch nicht schlecht da so die etwas erfahreneren
Programmierer womöglich auch Tips bei völlig falschen Lösungsansetzen geben können."
"Zu Fragen wie "Listbox Items Hinzufügen" sage ich nur : Delphi hat
eine ausgezeichnete OnlineHelp !"
"50% der Antworten stehen in der Online-Hilfe,
20% sind durch einfaches Ausprobieren der jedem halbwegs des Denkes fähigen
Menschen einleuchtenden Ansätzen innert 30 Minuten gegessen. Und das bringt
einen auch noch weiter, weil man ja drumherum was lernt und weiß, wieso
irgendwas so funktioniert, wie es das tut, statt einfach per Copy/Paste den
Kram zu übernehmen. Weitere 20% sind in wirklich jedem Delphi-Buch zu
finden. 5% sind was knifflig, aber mit etwas Mühe auch allein zu
bewältigen - aber da seh ich ein, daß man fragt. Vielleicht weitere 5%
brauchen wírklich nen ganzen Thread, um gefunden zu werden."
"Ich helf gern, wenn ich kann, besonders bei Themen, die in Vergessenheit
gekommen sind (z.B. Text-Dateien, selbst Listen anlegen usw., also
Root-Kram, den Neue gar nicht mehr lernen). Aber wenn einer zu faul ist,
eimal Ctrl-F1 zu drücken, kann er selbst sehen, wo er bleibt."
"Ich erlebe es Tag Täglich das Leute zu uns in den
Delphi-Channel kommen und Sachen fragen die definitiv leicht in der
Hilfe zu finden sind. Bei der Frage ob sie schon mal in die Hilfe geschaut
haben kommt dann meistens nur ein "Ääähhhmm nein"."
"Meine Delphi-Groups haben undendliche Haltezeit und sind somit DAS Lexikon ueberhaupt.
Kein Buch, keine FAQ, kein gar nix kommt da mit. 99% meiner (Delphi) Probleme sind
bisher damit in ein paar Minuten geloest worden."
[edit=sakura] Als wichtig markiert. Mfg, sakura[/edit]