Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Eigene Skins / Eigene Progis (https://www.delphipraxis.net/16637-eigene-skins-eigene-progis.html)

delphi-dw 20. Feb 2004 16:11


Eigene Skins / Eigene Progis
 
Hallo, erstmal möchte ich mich bedanken das du dir diesen Eintrag, anschauen tust. :thuimb:

- Hier kommt meine Frage: Ich möchte gerne meine eigenen Skins in meine Programme einbinden!

Für meine Skins benutze ich: DynamicSkinForm VCL
Und meine Delphi Version ist 7.0 Enterprise

- Ich habe mir schon eurer Forum und andere diverse Seiten angeschaut,
leider habe ich noch nichts gefunden, oder vielleicht auch was übersehen.


- Mein Problem ist die Einbindung zwischen Delphi und der ini Datei!!!

über eine genaue Beschreibung würde ich mich freuen!!!
(Code oder Tutorial oder Beispiel oder ...)

Wenn ihr noch mehr zu meinem Problem wissen wollt dann, sagt es mir, bitte!!!

Ich Verzweifel schon :roll:

Für jeden Beitrag bin ich Dankbar, und für jeden Hilfreichen noch mehr!!! :thuimb: / :)

Bis demnächst, David

[edit=sakura] Titel geändert, daß Du Hilfe brauchst, daß ist schon klar ;-) Mfg, sakura[/edit]

SirThornberry 20. Feb 2004 16:57

Re: Eigene Skins / Eigene Progis
 
Kommst du mit der Inifile allgemein nicht zurecht?? Das gibts ne Klasse TIniFile in der unit "inifiles" und bei www.delphi-source.de gibts auch nen tutorial dazu

delphi-dw 20. Feb 2004 20:14

Re: Eigene Skins / Eigene Progis
 
Hallo "SirThornberry" danke für deine Schnelle Antwort!

Ich habe mir auch schon das Tutorial von www.delphi-source.de vor
meinen Eintrag angesehen, aber wenn ich das so mache wie es da steht
komme ich nicht weiter.

Also mein Problem besteht im Zusammenhang mit der Skin.ini und
mit der Unit von Delphi (praktisch wie verbinde ich die beiden
mit einander)

Kannst du mir bitte ein Beispiel erläutern... :roll:

delphi-dw 22. Feb 2004 11:42

Re: Eigene Skins / Eigene Progis
 
Hallo User's schön das ihr euch meine Hilfe ruf anschaut :)

Ich habe folgendes Problem, ich weiß jetzt wie ich die Ini Datei
in mein Programm einbinde ohne dabei Fehler zu erzeugen, aber
jetzt habe ich ein neues Problem, wenn ich das ganze testen will
sollte der Form1 das aussehen von dialog haben, nur leider ist das
nicht so... :gruebel:

Meine Frage an euch ist meine Ausgangslage richtig siehe Code unten :?:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
  begin
    ini := TIniFile.Create('skin.ini');
try
     ini.ReadString('PICTURES', 'picture', 'dialog.bmp');
finally
  ini.Free;
  end;
Und was habe ich eventuell vergessen :!:

Bitte helft mir, danke :-D

[edit=sakura] [delphi]-Tags Mfg, sakura[/edit]

atreju2oo0 22. Feb 2004 11:51

Re: Eigene Skins / Eigene Progis
 
Ich kenn mich gar nicht aus aber ist Create nicht zum Erstellen da!
Ich denke wenn Du ne INI-File lesen willst musst Du die nicht erstellen sondern öffnen;
Also

ini := TIniFile.open('skin.ini');

Is aber nur ne Vermutung... Lass mich gerne vom Gegenteil überzeugen.

CalganX 22. Feb 2004 11:54

Re: Eigene Skins / Eigene Progis
 
Hi,
nein. Die Methode Open ist, wenn sie überhaupt existiert, kein Konstruktor und somit würde das schon gar nicht gehen.

Versuch aber mal den gesamten Pfad anzugeben:
Delphi-Quellcode:
ini := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'skin.ini');
Chris

[edit]Auch wenn Stanlay recht hab (hab deinen Sourcecode nicht richtig gelesen), solltest du Dateien immer mit kompletten Pfad öffnen, da das Verzeichnis, in dem das Programm ausgeführt wird, nicht zwangsläufig das Verzeichnis ist, in dem deine EXE liegt.[/edit]

Stanlay Hanks 22. Feb 2004 11:55

Re: Eigene Skins / Eigene Progis
 
Hi.

Naja, Fehler dürfte dein Code nicht erzeugen. Aber bringen wird er auch nicht viel, da deine Ergebnisse praktisch ins leere laufen :wink:


Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
ini := TIniFile.Create('skin.ini'); (1)
try
ini.ReadString('PICTURES', 'picture', 'dialog.bmp'); (2)
finally
ini.Free; (3)
end;
Du erzeugst die Datei (1) richtig und gibst sie auch richtig frei. (3)
Aber dazwischen liest du etwas aus der INI aus (2). Und diese Ergebnisse laufen ins leere, da sie nirgendwo zwischengespeichert werden. Ich vermute mal, du möchtest die Zeichenkette (String) aus der Section [PICTURES] und dem darinenthaltenen Eintrag picture= auslesen, oder? Dann müsstest du noch eine Variable deklarieren, um überhaupt mit diesem String arbeiten zu können. Ansonsten ist er praktisch "vergessen" :wink:

Beispiel:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var str : String;
begin
ini := TIniFile.Create('skin.ini');
try
str := ini.ReadString('PICTURES', 'picture', 'dialog.bmp'); //str erhält den Wert aus der INI
finally
ini.Free;

ShowMessage(str); // Der String wird als Meldung angezeigt (nur als Beispiel)
end;
Man liest sich, Stanlay :hi:

DP-Maintenance 22. Feb 2004 12:09

DP-Maintenance
 
Dieses Thema wurde von "sakura" von "Multimedia" nach "Windows API" verschoben.
Die Frage ist wohl eher "Ini-Files" statt "Skins" ;-)

delphi-dw 22. Feb 2004 12:47

Re: Eigene Skins / Eigene Progis
 
Nochmal ein Frage zu diesem Code

zwischen try (...) finally

Beispiel: var1 := ini.ReadString('', '', '');

gibt es eine möglichkeit die gesamte Ini auszulesen oder muss das
alles von hand gemacht werden, das heißt:

var1 := ini.ReadString('', '', ''); ca. 200 mal :spin2:


Hier kommt noch was!

Ich habe mir schon einmal die Mühe gemacht und habe das alles geschrieben nur es funktioniert nicht, ich glaube jetzt habe ich alles durcheinander gewurfen des wegen kopiere ich euch mal den ganzen code hier rein

--- :gruebel: --- :pale: --- :?:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IniFiles, StdCtrls;

type
  TForm1 = class(TForm)
    StaticText1: TStaticText;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  ini: TIniFile;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var var1 : String;     var var19 : String;     var var37 : String;
var var2 : String;     var var20 : String;     var var38 : String;
...
var92 := ini.ReadString('caption', 'frametextrect', '0,0,0,0');
var93 := ini.ReadString('caption', 'frameleftoffset', '0');
var94 := ini.ReadString('caption', 'framerightoffset', '0');
var95 := ini.ReadString('SKINCONTROLS', 'Count', '0');
finally
  ini.Free;
  end;
end;
end.
wer kann mir sagen warum es nicht klappt! ????

[edit=Luckie]Delphi-Tags gesetzt und etwas gekürzt. Mfg, Luckie[/edit]

cruiser 25. Feb 2004 02:55

Re: Eigene Skins / Eigene Progis
 
Ich fürchte die Deklaration der Variablen funktioniert nicht wie du es gemacht hast.

richtigerweise sollte es so aussehen:

Delphi-Quellcode:
procedure {whatever};
var
  ini : TIniFile;
  var1, var2, var3, etc, pp : string;
begin
  {vas du machen willst}
end;
Edit:

Ich hab mal kurz das Helpfile zu den Komponenten überflogen und ein paar Methoden gesehn, die bereits vorhanden sind und dein Problem lösen. Es gibt wohl eine Komponente TspStoredSkin , die ein Skin über die Ini-Datei einlesen kann (und warscheinlich im Exe-File speichert :?: ). Ausserdem besitzt die Komponente TspSkinData eine Methode:
Delphi-Quellcode:
TspSkinData.LoadFromFile(FileName: String);
Edit2:

Wenn mich nicht alles täuscht übernimmt TspDynamicSkinForm den Client-Bereich deiner Form und sorgt für die Änderungen der Skin-Komponenten die darauf angeordnet sind. Wenn es jemand besser weiss, bitte berichtigen...


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:57 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz