Autor |
Beitrag |
F34r0fTh3D4rk
Beiträge: 5284
Erhaltene Danke: 27
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Mi 23.03.05 14:49
ini dateien sind ganz einfach,aber wozu brauchst du sie ?
|
|
CrazyLuke
Beiträge: 247
Windows XP Pro
Turbo Delphi Explorer, D2005 PE
|
Verfasst: Mi 23.03.05 15:07
Na, irgendwie müssen doch die ganzen Einstellungen gespeichert werden?
MfG
CrazyLuke
|
|
F34r0fTh3D4rk
Beiträge: 5284
Erhaltene Danke: 27
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Mi 23.03.05 15:13
registry -> is dafür besser geeignet
|
|
CrazyLuke
Beiträge: 247
Windows XP Pro
Turbo Delphi Explorer, D2005 PE
|
Verfasst: Mi 23.03.05 15:16
Zitat: | In die Registry schreiben und aus der Registry lesen
Dazu musst du die Unit registry einbinden.
Wenn du den vielen Leichen in der Registry noch weitere hinzufügen willst, dann verwende die beiden nachfolgenden Prozeduren!
Im Ernst: Selbst gute Deinstallationsprogramme "vergessen" Einträge in der Registry und das System wird immer langsamer.
Das ist vor allem ärgerlich bei Programmen, die man nur vorübergehend mal ausprobiert.
Verwende lieber Ini-Files und schreibe diese in denselben Ordner, in dem sich Dein Programm befindet.
| delphi.zsg-rottenburg.de/faq.html#registry
Dem kann ich voll und ganz zustimmen, deswegen hoffe ich, dass es eine gute Möglichkeit gibt, die INI-Datei so abzuspeichern, dass sie auf allen Systemen funzt. Aber das werd ich nach dem Lesen des Tuts wissen.
MfG
CrazyLuke
|
|
F34r0fTh3D4rk
Beiträge: 5284
Erhaltene Danke: 27
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Mi 23.03.05 15:27
naja das dürfte nur ein problem werden wenn man keinen deinstaller hat, und dann wird die ini auch net entfernt, es ist sozusagen wurscht, weil wenn du keinen deinstaller hast bleibt die ini auch auf dem system, und woher soll der user denn das wissen ?
also deshalb ist schonmal ein deinstaller wichtig, und dann kannst du auch ruhig die registry benutzen...
|
|
CrazyLuke
Beiträge: 247
Windows XP Pro
Turbo Delphi Explorer, D2005 PE
|
Verfasst: Mi 23.03.05 15:37
Gäbs nicht diese blöde Einrichtung vom eingeschränbkten Benutzer bei Windows NT/2000/XP, dann könnte man die INI ja problemlos mit in den Programmordner packen.
Aber eine verwaiste INI-Datei in den Gemeinsamen Dateien (oder wo auch immer man das am Besten hinkopiert) ist mir lieber als ein Ordner mit Dutzenden Einträgen in der Registry...
Dann kommt ein kurzer Hinweis in die Readme und die Leute, die statt des Setups die ZIP runterladen sind auch zufrieden
MfG
CrazyLuke
|
|
F34r0fTh3D4rk
Beiträge: 5284
Erhaltene Danke: 27
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Mi 23.03.05 15:39
in der registry kann man auch kategorien erstllen, das kann alles gaaaaaaaaaaanz übersichtlich sein, wenn man nur will
ini dateien lassen sich leichter manipulieren, deshalb ist das kein nachteil, sondern ein vorteil der registry
|
|
CrazyLuke
Beiträge: 247
Windows XP Pro
Turbo Delphi Explorer, D2005 PE
|
Verfasst: Mi 23.03.05 15:41
Was soll man denn bitteschön da manipulieren? Solang diesbezüglich keine Gefahr besteht, ziehe ich INIs vor.
MfG
CrazyLuke
|
|
F34r0fTh3D4rk
Beiträge: 5284
Erhaltene Danke: 27
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Fr 25.03.05 19:46
so mir war grad langweilig, da hab ich schnell mal was geproggt:
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: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) private procedure WMQueryEndSession (var M: TWMQueryEndSession); message WM_QUERYENDSESSION; public end;
var Form1: TForm1;
implementation
{$R *.dfm}
function GetCDDrives: string; 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 result:= ''; DriveMask:=GetLogicalDrives; flag:=1; for Drive := 'A' to 'Z' do begin if (flag and DriveMask)<>0 then begin DriveType := GetDriveType(PChar(Format('%S:\',[Drive]) ) ) ; if DriveTypeTexts[DriveType] = 'CDROM' then result:= result + drive; end; flag:=flag shl 1; end; end;
function CDInDrive(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), '') <> 0 then result:=true; end; end;
procedure TForm1.WMQueryEndSession(var M: TWMQueryEndSession); var CDs, CDsIn: string; i: integer; begin inherited; CDs:= GetCDDrives; CDsIn:= ''; for i:= 1 to length(CDs) do if CDInDrive(CDs[i]+':\') then if length(CDsIn) = 0 then CDsIn:= CDs[i]+':\' else CDsIn:= CDsIn + ',' + CDs[i]+':\'; if length(CDsIn) <> 0 then begin beep; if length(CDsIn) = 1 then showmessage('Im Laufwerk "' + CDsIn + '" befindet sich noch eine CD!') else showmessage('In den Laufwerken "' + CDsIn + '" befinden sich noch CDs!'); end; end;
end. |
damit werden die cd-rom laufwerke in denen sich noch cds befinden angezeigt wenn windows beendet wird, das ist doch schonmal was
|
|
F34r0fTh3D4rk
Beiträge: 5284
Erhaltene Danke: 27
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Fr 01.04.05 18:41
www.swissdelphicente.../showcode.php?id=124
das ist besser zum laufwerk öffnen und schließen, da man die laufwerke auswählen kann
|
|
CrazyLuke
Beiträge: 247
Windows XP Pro
Turbo Delphi Explorer, D2005 PE
|
Verfasst: Do 21.07.05 22:15
Da das Programmieren nur ein kleines Hobby ist und ich nicht die Zeit habe, mich eingehend damit zu beschäftigen, werde ich dieses Projekt wohl jetzt aufgeben, um mich - zumindest erst einmal - auf Musik-Industrie-Befreiung konzentrieren zu können.
Hiermit stelle ich meine bisherige Arbeit zur Verfügung, es handelt sich dabei um die reine Oberfläche (im Delphi 2005 Personal Win32-Format). Okay, es ist kein Jahrhundertprtojekt, aber wenn es jemanden interessieren würde, wäre es schön, wenn diese Funktionen ebenfalls mit eingebaut werden könnten...
Download
MfG
CrazyLuke
_________________ "Was kommt vor 'Schmetterlinge im Bauch'? Raupen im A*sch!" (Bastian Pastewka, "Pastewka", Sat1)
|
|
|