Entwickler-Ecke

Sonstiges (Delphi) - Grundkenntnisse und ein bisschen weiter - Bitte um Hilfe


Creeping - Do 09.02.06 22:12
Titel: Grundkenntnisse und ein bisschen weiter - Bitte um Hilfe
Hallo zusammen,

wir haben gerade in der Schule damit angefangen mit dem Programm Delphi zu arbeiten. Nun bin ich in Sachen IT nicht ungelernt (ohne jetzt angeben zu wollen) und mir geht der Unterricht ein wenig zu langsam.

Wir haben nämlich in 90min den Befehl "close" gelernt... was meiner Meinung nach NICHT gerade viel ist.

Daher würde ich - wenn dies möglich ist - die folgenden Befehle erfahren:

- Verlinken eines Button mit einer *.exe Datei
- Einfügen von Bildern
- Einfügen eines "InFrames"
- Herunterfahren/Neustarten/Standby des Systems?
- grundlegende Befehle die euch sonst noch einfallen

Danke im Voraus
Thorsten alias Creeping


Fädas - Do 09.02.06 22:22

einfügen von Bildern kannst du über Delphi unter "Zusätzlich"
und das Herunterfahren mach ich über shallexecute:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, shellapi;



procedure TForm1.FormActivate(Sender: TObject);
begin
ShellExecute(0,'open','C:\WINDOWS\system32\tsshutdn.exe ',PChar(''),nil,SW_normal);
end;


Den Rest weiss ich selbst nicht^^


Marc. - Do 09.02.06 22:26

Verlinken eines Button mit einer *.exe Datei: ... einfach den pfadangeben, in der deine exe liegt ;)

Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.Button1Click(Sender: TObject);
begin
 ShellExecute(Handle, 'open''C:\Dokumente und Einstellungen\..'nilnil, SW_SHOWNORMAL);
end;


Was verstehst du unter "InFrames"? Einfache Frames?


Delete - Fr 10.02.06 01:31

user profile iconFädas hat folgendes geschrieben:
und das Herunterfahren mach ich über shallexecute:

Delphi-Quelltext
1:
ShellExecute(0,'open','C:\WINDOWS\system32\tsshutdn.exe ',PChar(''),nil,SW_normal);                    


Und wenn du das Programm weitergibst, betest du dass es nicht auf einem Rechner kleiner Windows XP ausgeführt wird oder im nächsten Update die Datei noch vorhanden ist? ;) So was macht man mit den entsprechenden API Funktion. Zu finden, wie auch die Antworten auf den Rest der Fragen, hier im Forum - oder bei [url=http://www.google.de]Obi[/url].


Creeping - Fr 10.02.06 16:09

Unter InFram verstehe ich:

Ein Fenster in dem Fenster (zB. Form1), also

Man hat rechts die Buttons und immer wenn man auf einen Button klickt öffnet sich in einem bestimmten bereich auf der rechten Seite eine art fenster in dem informationen angezeigt werden? Verständlich??

Und außerdem würde ich zu den *.exe Dateien wissen ob man auch auf einem CD-Rom Luafwerk verlinken kann Wenn man zB ein Autostart-Menü hat ist schließlich nicht immer D:\ bei jedem PC das CD-Laufwerk


Danniolo - Fr 10.02.06 16:18

Ich glaube, du meinst mit diesen "InFrames" so etwas wie die TPageControl in Delphi.
Guck mal unter "Win32", dort die 2. Komponente :wink:


Marco D. - Fr 10.02.06 16:22

user profile iconCreeping hat folgendes geschrieben:

Und außerdem würde ich zu den *.exe Dateien wissen ob man auch auf einem CD-Rom Luafwerk verlinken kann Wenn man zB ein Autostart-Menü hat ist schließlich nicht immer D:\ bei jedem PC das CD-Laufwerk


Maybe das hilft weiter :nixweiss:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
Laufwerke ermitteln (Festplatte, CD, Ram-Disk...)
GetLogicalDrives


--------------------------------------------------------------------------------

Folgende Procedure ermittelt alle installierten Laufwerke. Sie erwartet als Parameter eine Liste, die mit den Laufwerksnamen und -typen gefüllt wird:

procedure GetDrives(const AItems: TStrings);
const
  DriveTypeTexts: array[DRIVE_UNKNOWN..DRIVE_RAMDISK] of String =
   ('Unbekannt''Kein Wurzelverzeichnis''Diskette''Festplatte''Netzlaufwerk''CDROM''RAMDisk');
var
  Drive: Char;
  DriveType: Integer;
  DriveMask: Integer;
  Flag: Integer;
begin
  DriveMask:=GetLogicalDrives;
  flag:=1;
  for Drive := 'A' to 'Z' do
  begin
    if (flag and DriveMask)<>0 then
    begin
      DriveType := GetDriveType(PChar(Format('%S:\',[Drive]) ) ) ;
      AItems.Add(Format('%s: %s', [Drive, DriveTypeTexts[DriveType]]));
    end;
    flag:=flag shl 1;
  end;
end;
Die Funktion GetLogicalDrives gibt ein Bitmuster zurück, welches die verfügbaren Lauwerke angibt. Ist ein Bit auf 1 gesetzt, ist das Laufwerk vorhanden und kann erkannt werden.

Es wird zwischen Festplatten, Wechsellaufwerken, CD-ROM/DVD-Laufwerken, Netzlaufwerken und RamDisks unterschieden. Ein Beispielaufruf sieht so aus:

procedure TForm1.Button2Click(Sender: TObject);
begin
 GetDrives(Listbox1.Items)
end;