Autor Beitrag
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: Mi 23.03.05 14:49 
ini dateien sind ganz einfach,aber wozu brauchst du sie ? :gruebel:
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 15:07 
Na, irgendwie müssen doch die ganzen Einstellungen gespeichert werden?

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: Mi 23.03.05 15:13 
registry -> is dafür besser geeignet
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 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
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: 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 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 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
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: Mi 23.03.05 15:39 
in der registry kann man auch kategorien erstllen, das kann alles gaaaaaaaaaaanz übersichtlich sein, wenn man nur will :D

ini dateien lassen sich leichter manipulieren, deshalb ist das kein nachteil, sondern ein vorteil der registry
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 15:41 
Was soll man denn bitteschön da manipulieren? Solang diesbezüglich keine Gefahr besteht, ziehe ich INIs vor.

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: Fr 25.03.05 19:46 
so mir war grad langweilig, da hab ich schnell mal was geproggt:
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:
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
    { Public-Deklarationen }
  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, nil0);
    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 :D
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: 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 :D
CrazyLuke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 247

Windows XP Pro
Turbo Delphi Explorer, D2005 PE
BeitragVerfasst: 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...

user defined image

user defined image

:arrow: Download


MfG
CrazyLuke

_________________
"Was kommt vor 'Schmetterlinge im Bauch'? Raupen im A*sch!" (Bastian Pastewka, "Pastewka", Sat1)