Autor Beitrag
CrazyLuke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 247

Windows XP Pro
Turbo Delphi Explorer, D2005 PE
BeitragVerfasst: Di 22.03.05 17:28 
U.a. mangels Interesse setze ich das Projekt PrakTischRechner erstmal hinten an.

Statt dessen würde ich erstmal wieder etwas Kleineres wagen, wobei ich hoffe, dass das Interesse stimmt und sich vielleicht noch jemand für diese Partnerarbeit meldet, da es größer wird als M.I.B.


Bei allen mir bekannten CD/DVD-Eject-Programmen fällt mir negativ auf, dass sie, wenn man Windows herunterfährt, die vollen Laufwerke auswerfen. Das Blöde daran ist, dass man nachher zwar die Discs rausnehmen kann, dann aber offene Laufwerksschubladen hat und der PC aus ist :(

Daher würde ich gerne ein Programm programmieren mit folgenden Optionen:

Programm startet, findet keine Disc:
- Programm wird sofort beendet und Windows heruntergefahren

Programm startet, findet Disc:
- Betreffende Laufwerke werden geöffnet
- Wahlweise: Programm wartet, bis alle Laufwerke geschlossen worden sind
- Wahlweise: Programm wartet, bis Countdown abgelaufen ist
- Wahlweise: Programm wartet, bis bestimmte Taste gedrückt wird
- Laufwerke werden ggf. geschlossen
- Programm wird beendet und Windows heruntergefahren

Dies hat den Vorteil, dass das der Saft erst endgültig abgestellt wird, wenn alle Laufwerke wieder zu sind - und das Programm muss unter Windows nicht die ganze Zeit im Hintergrund laufen.

Wer Windows nicht über das Programm, sondern weiterhin über die windows-interne Funktion im Startmenü abschalten möchte, kann das Programm auch als Shutdowndienst aktivieren. Für diesen Fall muss natürlich eine optinal abwählbare Funktion "Bei Programmende PC herunterfahren" vorhanden sein.


Des Weiteren wäre es auch denkbar, die Programmfunktionen auf andere Laufwerksgruppen wie Diskette oder ZIP auszuweiten, wo dann je nach Laufwerkfähigkeiten entweder die Medien ausgeworfen werden oder nur eine Meldung ausgegeben wird. Und man kann evtl. auch einzelne Laufwerke davon ausschließen. Aber das kommt denk ich mal in späteren Versionen.


Ich wäre sehr erfreut über jede Rückmeldung, sei es nun nur wegen Interesse, Verbesserungsvorschlägen oder auch Partnerarbeit.


MfG
CrazyLuke


Moderiert von user profile iconAXMD: Topic aus Gemeinschaftsprojekte verschoben am Do 21.07.2005 um 22:35


Zuletzt bearbeitet von CrazyLuke am Do 21.07.05 22:17, insgesamt 1-mal bearbeitet
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Di 22.03.05 17:37 
das ist doch kein ding, dat is a bissl quellcode und das wars, status abfragen, schließen, windows beenden verzögern und windows beenden, mehr brauchst du ja net.

schnell mal ausm eh:
ausblenden volle Höhe 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:
39:
40:
41:
42:
43:
44:
//Laufwerke auflisten (können ja mehere sein)
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;

//ist ne audio cd im laufwerk ? <- lässt sich bearbeiten
function IsAudioCD(Drive: string): boolean;
var FSFlags: DWord;
  MaxLength: DWord;
  VolName: String;
begin
  result:=false;
  if GetDriveType(PChar(drive))=DRIVE_CDROM then begin
    SetLength(VolName, 64);
    GetVolumeInformation(PChar(Drive), PChar(VolName), Length(VolName), nil, MaxLength,
      FSFlags, nil0);
    if lStrCmp(PChar(VolName), 'Audio CD')=0 then result:=true;
  end;
end;

//öffnen
mciSendString('Set cdaudio door open wait'Nil0, Handle);
//schließen
mciSendString('Set cdaudio door closed wait'Nil0, Handle);
das gilt aber nur für das standart cdaudio laufwerk
CrazyLuke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 247

Windows XP Pro
Turbo Delphi Explorer, D2005 PE
BeitragVerfasst: Di 22.03.05 17:42 
Tja, das sagt sich so leicht.

Ich hab ja erst zwei Projekte gemacht, wobei man das erste gar nicht als Projekt bezeichnen kann, das war ja nur ne modifizierte Version aus der Eurorechner-Anleitung des "PC Magazin" (wo die Delhi-Vollversion bei war)...

Und für M.I.B. musste ich ja auch einige Fragen hier rein stellen.

MfG
CrazyLuke


Zuletzt bearbeitet von CrazyLuke am Di 22.03.05 17:45, insgesamt 1-mal bearbeitet
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Di 22.03.05 17:45 
das wichtigste ist allerdings noch:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
private
procedure WMQueryEndSession (var M: TWMQueryEndSession); message 
  WM_QUERYENDSESSION; 

procedure TForm1.WMQueryEndSession (var M: TWMQueryEndSession);
begin
inherited;
{ Hier befindet sich der Quellcode, der ausgeführt werden soll
  wenn Windows beendet werden soll }

end;
CrazyLuke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 247

Windows XP Pro
Turbo Delphi Explorer, D2005 PE
BeitragVerfasst: Di 22.03.05 17:47 
Gibts zu den ganzen Quellcode-Schnipseln auch noch Erklärungen, was wofür ist (also beim ersten stehts ja schon im Code, aber der zweite?)

MfG
CrazyLuke
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Di 22.03.05 17:49 
Zitat:

ausblenden Delphi-Quelltext
1:
2:
{ Hier befindet sich der Quellcode, der ausgeführt werden soll  
  wenn Windows beendet werden soll }


steht doch da
CrazyLuke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 247

Windows XP Pro
Turbo Delphi Explorer, D2005 PE
BeitragVerfasst: Di 22.03.05 17:50 
Ach so, dann muss der Befehl zum Beenden erst kommen? Aha.

Warum postest du das alles? Hast du schon sowas in der Art programmiert oder möchtest du mitmachen? :)

MfG
CrazyLuke
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Di 22.03.05 19:15 
ich möchte helfen :D
CrazyLuke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 247

Windows XP Pro
Turbo Delphi Explorer, D2005 PE
BeitragVerfasst: Di 22.03.05 19:22 
"Nur" helfen? Also bei M.I.B. hab ich auch "nur" Hilfe von hier und da aus diesem Forum bekommen, daher steht dort nur ein genereller Dank ans Forum drin (also in der Final, in der aktuellen Beta noch nicht). Oder möchtest du explizit erwähnt werden :D

Ich denke, wenn die Funktionen selber nicht so schwer sind, wie du ja auch behauptest, dann wird wohl der Einstellungsbereich noch das Schwierigste werden, denn damit hab ich bisher noch gar nicht gearbeitet. Eigentlich würd ich sowas ungern in der Registry abspeichern, aber dank XP mit den eingeschränkten Benutzerkonten kann ichs ja schlecht in ner INI im Programmpfad speichern (was bei 95/98/ME kein Prob gewesen wäre)...

Naja, ich werd mal ein wenig googlen, was es da für Möglichkeiten gibt.

MfG
CrazyLuke
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Di 22.03.05 19:25 
nöö ich möchte net erwähnt werden, der code ist ja auch noch schnippelhaft und der audio cd code muss noch veralgemeinert werden :)
CrazyLuke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 247

Windows XP Pro
Turbo Delphi Explorer, D2005 PE
BeitragVerfasst: Di 22.03.05 19:49 
Okay, also kein direkte Partnerschaft. Naja, ich werd sehen wie gut ich vorankomme udn von wem ich alles Hilfe bekomme, dann seh ich weiter mit den Danksagungen im Programm ;)

MfG
CrazyLuke
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Di 22.03.05 19:50 
du "kannst" mich erwähnen musst du aber net, war ja jetzt net die groooße hilfe, aber wenn du hilfe brauchst, frag, ist ja schließlich ein gemeinschaftsprojekt ^^
CrazyLuke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 247

Windows XP Pro
Turbo Delphi Explorer, D2005 PE
BeitragVerfasst: Di 22.03.05 20:24 
Naja, ich habe es als Gemeinschaftsprojekt vorgeschlasgen. Wenn du dies allerdings schon so bezeichnest, dann muss es ja schon irgendwelche direkten Partner geben?! ;)

Also sobald es sich jemand verdient hat, erwähne ich ihn gerne. Ich werde ja sehen, wie gut ich ins Besondere von dir beraten werde 8)

MfG
CrazyLuke
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Di 22.03.05 20:26 
bis jezz ja schonmal net schlecht, oda ?

aber du wirst hier im forum zu deinen fragen viele antworten finden.

warum möchtest du es eigentlich als gemeinschaftsprojekt machen ?
CrazyLuke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 247

Windows XP Pro
Turbo Delphi Explorer, D2005 PE
BeitragVerfasst: Di 22.03.05 20:43 
Wie gesagt sind das einige Sachen, die ich wohl anscheinend (wenn du Recht hast...) für schwerer eingeschätzt habe. Nichts desto trotz geht es aber in erster Linie um das Interesse. Aber wenn das Programm sowieso nicht all zu aufwändig ist, dann programmier ich es auch gerne für mich, um in dieser Materie weiter zu kommen.

MfG
CrazyLuke
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Di 22.03.05 20:46 
fang doch schon mal an, wenn du nicht weiter weist, frag oder guck im forum ^^

probiers doch erstmal bevor du schon vorher aufgibst ! :)
CrazyLuke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 247

Windows XP Pro
Turbo Delphi Explorer, D2005 PE
BeitragVerfasst: Di 22.03.05 20:52 
Ich hab nie behauptet, dass ich aufgebe. Nur wenn es wirklich ein sehr aufwändiges Projekt wäre und es keinen interessiert, dann hab ich da keinen Bock drauf. Dann lieber etwas kleinere Projekte, so dass man mal in alle Bereiche und Fähigkeiten von Delphi reingucken kann :)

MfG
CrazyLuke
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Di 22.03.05 20:53 
der bereich windows api ist kein kleiner bereich, damit kann man sich lange beschäftigen... :D
matze.de
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 576

Win95, Win98 SE, WinXp Prof SP2
D7P, D8P, FPC2.0
BeitragVerfasst: Mi 23.03.05 09:01 
user profile iconF34r0fTh3D4rk hat folgendes geschrieben:
der bereich windows api ist kein kleiner bereich, damit kann man sich lange beschäftigen... :D


ohhh..ja. *grml*

mfg matze

_________________
si tacuisses, philosophus mansisses.
CrazyLuke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 247

Windows XP Pro
Turbo Delphi Explorer, D2005 PE
BeitragVerfasst: Mi 23.03.05 14:37 
Ich werd mir heute abend, wenn ich Zeit hab, mal das Tutorial zu den INI-Dateien durchlesen. Muss ich denn überhaupt noch im "Windows API"-Bereich schauen, ich hab doch jetzt schon den ganzen Code? ;)

MfG
CrazyLuke