| 
| Autor | Beitrag |  
| CrazyLuke 
          Beiträge: 247
 
 Windows XP Pro
 Turbo Delphi Explorer, D2005 PE
 
 | 
Verfasst: Di 22.03.05 16: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
 CrazyLukeModeriert von  AXMD: Topic aus Gemeinschaftsprojekte verschoben am Do 21.07.2005 um 22:35 
 Zuletzt bearbeitet von CrazyLuke am Do 21.07.05 21:17, insgesamt 1-mal bearbeitet
 |  |  |  
| F34r0fTh3D4rk 
          Beiträge: 5284
 Erhaltene Danke: 27
 
 Win Vista (32), Win 7 (64)
 Eclipse, SciTE, Lazarus
 
 | 
Verfasst: Di 22.03.05 16: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:
 												| 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:
 
 | 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;
 
 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, nil, 0);
 if lStrCmp(PChar(VolName), 'Audio CD')=0 then result:=true;
 end;
 end;
 
 mciSendString('Set cdaudio door open wait', Nil, 0, Handle);
 mciSendString('Set cdaudio door closed wait', Nil, 0, Handle);
 das gilt aber nur für das standart cdaudio laufwerk
 |  |  |  |  
| CrazyLuke  
          Beiträge: 247
 
 Windows XP Pro
 Turbo Delphi Explorer, D2005 PE
 
 | 
Verfasst: Di 22.03.05 16: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 16:45, insgesamt 1-mal bearbeitet
 |  |  |  
| F34r0fTh3D4rk 
          Beiträge: 5284
 Erhaltene Danke: 27
 
 Win Vista (32), Win 7 (64)
 Eclipse, SciTE, Lazarus
 
 | 
Verfasst: Di 22.03.05 16:45 
 
das wichtigste ist allerdings noch:
 		                       Delphi-Quelltext 
 									| 1:2:
 3:
 4:
 5:
 6:
 7:
 8:
 9:
 10:
 
 | privateprocedure WMQueryEndSession (var M: TWMQueryEndSession); message
 WM_QUERYENDSESSION;
 
 procedure TForm1.WMQueryEndSession (var M: TWMQueryEndSession);
 begin
 inherited;
 
 end;
 |  |  |  |  
| CrazyLuke  
          Beiträge: 247
 
 Windows XP Pro
 Turbo Delphi Explorer, D2005 PE
 
 | 
Verfasst: Di 22.03.05 16: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 
          Beiträge: 5284
 Erhaltene Danke: 27
 
 Win Vista (32), Win 7 (64)
 Eclipse, SciTE, Lazarus
 
 | 
Verfasst: Di 22.03.05 16:49 
 
	  | Zitat: |  	  | 
 		                       Delphi-Quelltext 
 
 | 
 steht doch da |  |  |  
| CrazyLuke  
          Beiträge: 247
 
 Windows XP Pro
 Turbo Delphi Explorer, D2005 PE
 
 | 
Verfasst: Di 22.03.05 16: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 
          Beiträge: 5284
 Erhaltene Danke: 27
 
 Win Vista (32), Win 7 (64)
 Eclipse, SciTE, Lazarus
 
 | 
Verfasst: Di 22.03.05 18:15 
 
ich möchte helfen    |  |  |  
| CrazyLuke  
          Beiträge: 247
 
 Windows XP Pro
 Turbo Delphi Explorer, D2005 PE
 
 | 
Verfasst: Di 22.03.05 18: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    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 
          Beiträge: 5284
 Erhaltene Danke: 27
 
 Win Vista (32), Win 7 (64)
 Eclipse, SciTE, Lazarus
 
 | 
Verfasst: Di 22.03.05 18: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  
          Beiträge: 247
 
 Windows XP Pro
 Turbo Delphi Explorer, D2005 PE
 
 | 
Verfasst: Di 22.03.05 18: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 
          Beiträge: 5284
 Erhaltene Danke: 27
 
 Win Vista (32), Win 7 (64)
 Eclipse, SciTE, Lazarus
 
 | 
Verfasst: Di 22.03.05 18: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  
          Beiträge: 247
 
 Windows XP Pro
 Turbo Delphi Explorer, D2005 PE
 
 | 
Verfasst: Di 22.03.05 19: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    MfG
 CrazyLuke |  |  |  
| F34r0fTh3D4rk 
          Beiträge: 5284
 Erhaltene Danke: 27
 
 Win Vista (32), Win 7 (64)
 Eclipse, SciTE, Lazarus
 
 | 
Verfasst: Di 22.03.05 19: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  
          Beiträge: 247
 
 Windows XP Pro
 Turbo Delphi Explorer, D2005 PE
 
 | 
Verfasst: Di 22.03.05 19: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 
          Beiträge: 5284
 Erhaltene Danke: 27
 
 Win Vista (32), Win 7 (64)
 Eclipse, SciTE, Lazarus
 
 | 
Verfasst: Di 22.03.05 19: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  
          Beiträge: 247
 
 Windows XP Pro
 Turbo Delphi Explorer, D2005 PE
 
 | 
Verfasst: Di 22.03.05 19: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 
          Beiträge: 5284
 Erhaltene Danke: 27
 
 Win Vista (32), Win 7 (64)
 Eclipse, SciTE, Lazarus
 
 | 
Verfasst: Di 22.03.05 19:53 
 
der bereich windows api ist kein kleiner bereich, damit kann man sich lange beschäftigen...    |  |  |  
| matze.de 
          Beiträge: 576
 
 Win95, Win98 SE, WinXp Prof SP2
 D7P, D8P, FPC2.0
 
 | 
Verfasst: Mi 23.03.05 08:01 
 
	  |  F34r0fTh3D4rk hat folgendes geschrieben: |  	  | der bereich windows api ist kein kleiner bereich, damit kann man sich lange beschäftigen...  | 
 ohhh..ja. *grml*
 mfg matze_________________ si tacuisses, philosophus mansisses.
 |  |  |  
| CrazyLuke  
          Beiträge: 247
 
 Windows XP Pro
 Turbo Delphi Explorer, D2005 PE
 
 | 
Verfasst: Mi 23.03.05 13: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 |  |  |  |