Autor Beitrag
Andi1982
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 497

WinXP HE
D6 Enterprise
BeitragVerfasst: So 12.01.03 18:18 
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:

ausblenden 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

_________________
Solange die Bombe tickt ist alles in Ordnung, erst wenn sie damit aufhört wird es problematisch...
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 497

WinXP HE
D6 Enterprise
BeitragVerfasst: So 12.01.03 18:46 
Cool danke, nach so etwas habe ich gesucht!

_________________
Solange die Bombe tickt ist alles in Ordnung, erst wenn sie damit aufhört wird es problematisch...
Andreas Pfau
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 997



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: 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
Popov
Gast
Erhaltene Danke: 1



BeitragVerfasst: 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:

  • Du hast Erfahrung und weißt, daß du für diese Funktion diese Unit brauchst, z.B. arbeiten mit Ini - hier weiß man irgendwann (weil man z.B. oft damit arbeitet), daß man die IniFiles einfügen muß. Man weiß, daß Ini-Funktionen sich nicht in den "standard" Units befinden.

  • Du bekommst von einem die Funktion (oder Beispiel) genannt und schreibst es in dein Programm. Dann startest du das Programm und bekommst sofort eine Fehlermeldung, daß das ein unbekannter Befehl ist. Aha! Befehl selektieren, F1 drücken und nach dem Namen der Unit gucken. Unit eintragen.

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

ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 497

WinXP HE
D6 Enterprise
BeitragVerfasst: 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!

_________________
Solange die Bombe tickt ist alles in Ordnung, erst wenn sie damit aufhört wird es problematisch...
Andreas Pfau
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 997



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: 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ß