Entwickler-Ecke

Off Topic - Woher weiss ich was ich bei "uses" eintragen muss?


Andi1982 - So 12.01.03 18:18
Titel: Woher weiss ich was ich bei "uses" eintragen muss?
Hallo,
ich weiß, ist irgendwie eine blöde Frage, aber woher weiss ich was ich bei "uses" alles eintragen muss? wenn ich eine neue anwendung starte ist immer folgendes drin:


Quelltext
1:
2:
3:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;


Aber manchmal wenn ich hier im Forum funktionen sehe dann kennt er die bei mir nicht bis ich irgend etwas zu den uses hinzufüge. Alleine komm ich da aber nie drauf.

Genauso wenig weiss ich was ich von den oben aufgelisteten sachen rausschmeisen kann. Gibt es da keine tips oder so?

Gruß andi


UGrohne - So 12.01.03 18:43

Meistens funktioniert es so, dass Du die Funktion in Deinen Quelltext schreibst, dann den Cursor auf dieselbe setzt und F1 drückst, dann kriegste eine Hilfe zu der Funktion und da steht dann irgendwo Unit. Und genau das, was dadrunter steht ist, was Du in uses einfügen musst. Z.B. bei ForceDirectories steht unter Unit SysUtils. Also schreibst Du SysUtils in den Uses-clause dazu, das wars.

Gruß


Andi1982 - So 12.01.03 18:46

Cool danke, nach so etwas habe ich gesucht!


Andreas Pfau - So 12.01.03 20:59

Hast du schon mal nach Befehlen wie ShellExecute(), Shell_NotifyIcon(), CreateProcess() etc gesucht? :wink:

Da können 2 Dinge helfen:
In der Onlinehilfe steht beim Klick auf "QuickInfo" folgendes: "...Header file: ShellApi.h". Daraus machst Du ShellApi. Klappt oft.

Wenn nicht: Suchen/In Datei suchen, befehl eintippen (z.B. "ShellExecute"), und das Delphi\Lib Verzeichnis wählen. Dnn findest du nahezu alles.

Oder kennt jemend 'ne professionellere Lösung? würde mich nämlich auch interessieren, manche Sachen stehen nirgends in der Online-Hilfe.


UGrohne - So 12.01.03 22:50

STRG gedrückt halten und dann auf den Befehl klciken, im Glücksfall wird dann gleich die Unit geöffnet. Weiß aber net ob das auch bei nicht-eingebundenen Units funktioniert, einfach mal probieren


Anonymous - Mo 13.01.03 09:10
Titel: Re: Woher weiss ich was ich bei "uses" eintragen m
Andi1982 hat folgendes geschrieben:
..., aber woher weiss ich was ich bei "uses" alles eintragen muss?


Alle bisherigen Antworten sind gut, aber ... naja, lassen wir das. In der Regel ist es so:



Andi1982 hat folgendes geschrieben:
wenn ich eine neue anwendung starte ist immer folgendes drin:


Quelltext
1:
2:
3:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;


Las es so wie es ist. In der Regel brauchst du die alle Unts die oben stehen als Minimum. Die wenigen Ausnahmen sind Ausnahmen. Später, wenn du etwas mehr Erfahrung hast, kannst du versuchen dein Programm zu optimieren. Aber was bringt es dir als erste Aktion die Unit Dialogs zu löschen, spätestens aber bei der ersten ShowMessage() wieder einzufügen.


Andi1982 - Mo 13.01.03 09:12

Ok, vielen Dank für die Antworten, ich glaube in Zukunft werd ich die Units schneller finden die ich benötige!


Andreas Pfau - Mo 13.01.03 17:16

@UGrohne, leider geht das nur mit bereits eingebundenen units.

PS: Vielleicht habt Ihr's schon gemerkt, aber ich habe auch einen Fehler gemacht. Die Befehle, die ich aufgleistet habe, stehen doch in der Hilfe :oops: . Aber es gibt solche Befehle, bei denen entweder nix steht, oder deren C-Headerfile anders heißt.


UGrohne - Mo 13.01.03 18:03

Andreas Pfau hat folgendes geschrieben:
@UGrohne, leider geht das nur mit bereits eingebundenen units.

OK, is eignetlich auch logisch *g*

Gruß