![]() |
INI Fragen wie immer
Hi
Hab mal ne Frage wegen einer INI datei beschäftige mich gerade damit Das man in einer ini datei einstellungen speichern kann weis ich jetzt. aber wie wird immer der neue wert gespeichert
Delphi-Quellcode:
Gruss sascha
rocedure TForm1.Button3click(Sender: TObject);
var MyIniFile : TInIfile; begin MyIniFile := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'MyIniFile3.ini'); //MyIniFile := Tinifile.Create( 'MyIniFile.ini' ); MyIniFile.WriteString('Benutzername','edit1.text','//Was muss hier rein'); MyIniFile.WriteString('Passwort','edit2.text','//Was muss hier rein'); // muss ja variabel sein oder????? MyIniFile.Free; end; procedure TForm1.Button4Click(Sender: TObject); var MyIniFile : TIniFile; begin MyIniFile := TInIFile.Create(ExtractFilePath(ParamStr(0)) + 'MyIniFile3.ini'); Edit1.Text := MyIniFile.ReadString('Benutzername','edit1.text','0'); Form1.Caption:= MyIniFile.ReadString('Passwort','edit2.text','0'); end; |
Re: INI Fragen wie immer
Delphi-Quellcode:
var MyIniFile : TInIfile;
begin MyIniFile := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'MyIniFile3.ini'); //MyIniFile := Tinifile.Create( 'MyIniFile.ini' ); MyIniFile.WriteString('Benutzername','edit1.text',Neues_Stringliteral); MyIniFile.WriteString('Passwort','edit2.text',Neues_Stringliteral); // muss ja variabel sein oder????? MyIniFile.Free; end; |
Re: INI Fragen wie immer
Was meinst du damit "Neues_Stringliteral"
wenn ich eine Feste zeichenkette eingebe wird sie gespeichert aber wie mache ich das variabel das immer wenn ich was neues in <Edit1 eingebe das das gespeichert wird |
Re: INI Fragen wie immer
Delphi-Quellcode:
Wo ist das Problem?
MyIniFile.WriteString('Benutzername','edit1.text',edit1.text);
|
Re: INI Fragen wie immer
Hallo Sascha,
mein Vorschlag:
Delphi-Quellcode:
Freundliche Grüße
const
LOGIN_SECTION = 'LOGIN'; USER_KEY = 'Benutzer'; PSWD_KEY = 'Password'; procedure TForm1.Button3click(Sender: TObject); var fn: TFileName; begin fn := ExtractFilePath(ParamStr(0)) + 'MyIniFile3.ini'; with TMemIniFile.Create(fn) do try WriteString(LOGIN_SECTION, USER_KEY, UserEdit.Text); WriteString(LOGIN_SECTION, PSWD_KEY, PswdEdit.Text); UpdateFile; finally Free; end; end; |
Re: INI Fragen wie immer
Das heist das wird in der registry gespeichert oder
und beim laden setze ich nur ein read davor ?? kann man auch speichern das man ein timer auf True gesetzt hat oder welche Farbe man im TColer ausgewählt hat?? |
Re: INI Fragen wie immer
Wenn du mal
Delphi-Quellcode:
eingibst dann öffnent sich so ein Fenster mit Scrollbalken und da steht drin was du alles mit deiner Ini Datei machen kannst ;-)
MyIniFile.
|
Re: INI Fragen wie immer
Bei Ini-Dateien wird nichts in der Registry gespeichert.
|
Re: INI Fragen wie immer
Japp habs gerade gesehen das von marabu ist genau das gleiche nur in Grünn und kürzer :nerd:
|
Re: INI Fragen wie immer
Das laden geht aber nicht so oder
Delphi-Quellcode:
procedure TForm1.Button6Click(Sender: TObject);
var Anmeldeini: TFileName; begin Anmeldeini := ExtractFilePath(ParamStr(0)) + 'MyIniFile3.ini'; with TMemIniFile.Create(Anmeldeini) do try ReadString(LOGIN_SECTION, USER_KEY, Edit1.text); ReadString(LOGIN_SECTION, PSWD_KEY, Edit2.Text); UpdateFile; finally Free; end; end; |
Re: INI Fragen wie immer
Delphi-Quellcode:
Edit: Tag repariert
procedure TForm1.Button6Click(Sender: TObject);
var Anmeldeini: TFileName; begin Anmeldeini := ExtractFilePath(ParamStr(0)) + 'MyIniFile3.ini'; with TMemIniFile.Create(Anmeldeini) do try Edit1.text := ReadString(LOGIN_SECTION, USER_KEY, 'Standard'); Edit2.Text := ReadString(LOGIN_SECTION, PSWD_KEY, 'Standard'); UpdateFile; finally Free; end; end; |
Re: INI Fragen wie immer
Was soll den dieses standard bedeuten???
|
Re: INI Fragen wie immer
Das ist ein Vorgabewert, wenn kein anderer ermittelt werden konnte (weil es z.B. die Ini noch gar nicht gab).
|
Re: INI Fragen wie immer
Und was könnte da z.b im welchem fall noch stehen
sorry wegen den dummen fragen aber wie gesagt arbeite mich gerade in das thema rein |
Re: INI Fragen wie immer
Es doch wirklich nicht so schwer mal in die Hilfe zu gucken oder?
Zitat:
|
Re: INI Fragen wie immer
Du gibst da einen Initialwert ein, der Dir selbst sinnvoll erscheint.
|
Re: INI Fragen wie immer
hab doch nochmal ne Frage
ich starte ein timer und der wert wird in der ini gepeichert und zwar so
Delphi-Quellcode:
wie wird jetzt aber der letzte eingegebe wert wieder geladen oder mach ich da was falsch
//============Durschlauf starten================================================
procedure TForm4.Button2Click(Sender: TObject); var durchlauf: TFileName; begin durchlauf := ExtractFilePath(ParamStr(0)) + 'EinstellungBilder.ini'; with TMemIniFile.Create(durchlauf) do try WriteBool(Einstellung,ja,True); UpdateFile; finally Free; end; Timer2.Enabled:= True; index:= 0; //Index auf "0" setzen end; Laden wolte ich unter form show
Delphi-Quellcode:
procedure TForm4.FormShow(Sender: TObject);
var i :integer; durchlauf: TFileName; begin durchlauf := ExtractFilePath(ParamStr(0)) + 'MyIniFile3.ini'; with TMemIniFile.Create(durchlauf) do try Timer2.Enabled:= (Einstellung,): Boolean // hier weis ich jetzt nicht mehr UpdateFile; finally Free; end; end; |
Re: INI Fragen wie immer
ok hab es jetzt weiter geschaft
Delphi-Quellcode:
procedure TForm4.FormShow(Sender: TObject);
var i :integer; durchlauf: TFileName; begin durchlauf := (ExtractFilePath(ParamStr(0)) + 'EinstellungBilder.ini'); with TMemIniFile.Create(durchlauf) do try Timer2.Enabled:= ReadBool(Einstellung, ja_nein,);aber was muss hir rein das es variabel ist also True oder False UpdateFile; finally Free; end; |
Re: INI Fragen wie immer
ok jetzt weis ich warum mir keiner helfen wolte hab es jetzt trotzdem danke
aber die letzte Frage danach nerv ich nicht mehr Wie mache ich das von einer anderen Form aus z.b das ich den timer von der Form4 uber Form1 starte
Delphi-Quellcode:
procedure TForm1.einstellungenf4;
Var durchlauf: TFileName; begin durchlauf := (ExtractFilePath(ParamStr(0)) + 'EinstellungBilder.ini'); with TMemIniFile.Create(durchlauf) do try Form4.Timer2.Enabled:= ReadBool(Einstellung, ja_nein, Form4.Timer2.Enabled); UpdateFile; finally Free; end; end; |
Re: INI Fragen wie immer
Naja, nicht helfen wollen und das Problem nicht sehen sind 2 verschiedene Dinge ;)
|
Re: INI Fragen wie immer
Es wäre sehr net von euch wenn ihr mir vielleicht doch bei dem problem helft versuche es jetzt schon seit stunden aber ich komme leider nicht darauf. :cry:
|
Re: INI Fragen wie immer
Du hast die lösung doch bereits selbst gegeben?
|
Re: INI Fragen wie immer
dann bin ich total bescheuert
ich bekomme einen Fehler ich habe jetzt alle einstellungen von 6 Formblätter in die ini gespeichert jetzt möchte ich aber von der ersten form die werte für die anderen laden bei diesem post bekomme ich einen fehler "zugriffs verletzung"
Delphi-Quellcode:
und wo ist hier der fehler??
procedure TForm1.einstellungenf4;
Var durchlauf: TFileName; begin durchlauf := (ExtractFilePath(ParamStr(0)) + 'EinstellungBilder.ini'); with TMemIniFile.Create(durchlauf) do try Form4.Timer2.Enabled:= ReadBool(Einstellung, ja_nein, Form4.Timer2.Enabled); // hier bekomme ich den fehler UpdateFile; finally Free; end; end;
Delphi-Quellcode:
procedure TForm6.SpinEdit1Change(Sender: TObject);
begin Laufschrift := ExtractFilePath(ParamStr(0)) + 'settings.ini'; begin SpinEdit1.MinValue:= 1; SpinEdit1.MaxValue:= 10; JsRunningText1.Steps:= SpinEdit1.Value; // Stufe einstellen Form3.JsRunningText1.Steps:= SpinEdit1.Value; with TMemIniFile.Create(Laufschrift) do try WriteInteger(laufschrifttext,stufe,SpinEdit1.Value); UpdateFile; finally Free; end; end; end; |
Re: INI Fragen wie immer
Hallo Sascha,
UpdateFile() musst du nur aufrufen, wenn du Änderungen an TMemIniFile gemacht hast, weil diese Änderungen sonst nicht auf der Platte gespeichert werden. Das Lesen und Schreiben von Einstellungen einer Form solltest du bei den Ereignissen OnCreate() und OnDestroy() ansiedeln. Jede Form sollte ihre Einstellungen selbst verwalten. Zugriffe der Forms untereinander solltest du nochmal überdenken, das geht oft auch besser. Du musst auch überlegen welche Eigenschaften von Komponenten einen Neustart deines Programms überdauern müssen. Der Enabled-Status eines Timers gehört für mich nicht unbedingt dazu. Die Zugriffsverletzung bei der folgenden Zuweisung kann ich nicht erkennen. Die Verwendung der existierenden Einstellung als Default-Wert ist ungewöhnlich, aber nicht strafbar. Vielleicht solltest du mal prüfen, auf was er da mit "Einstellung" und "ja_nein" zugreift.
Delphi-Quellcode:
Das Setzen von MinValue und MaxValue mit Konstanten machst du besser im Object Inspector. Und speichern musst du nicht bei jeder Änderung am SpinEdit, es reicht wenn du das beim Zerstören der Form machst.
// ...
Form4.Timer2.Enabled := ReadBool(Einstellung, ja_nein, Form4.Timer2.Enabled); // ...
Delphi-Quellcode:
Freundliche Grüße
procedure TForm6.SpinEdit1Change(Sender: TObject);
begin //... SpinEdit1.MinValue:= 1; SpinEdit1.MaxValue:= 10; // ... end; |
Re: INI Fragen wie immer
danke marabu habe deine einzelnen Punkte berücksichtigt
aber wie kann ich es denn realisieren das mien timer läuft wenn das Programm gestartet wird. zudem habe ich gestern ihr auch noch einen Fehler bekommen ich habe auch schon einige dinge versucht die hier im Forum stehen aber nichts hat geklappt
Delphi-Quellcode:
mach ich irgfen ein Fehler der wert wurde vorher mit colorToString in die ini geschrieben das funtzt auch
JSRunningText1.Color:= StringToColor(ReadString(Laufschrifttext,farbe,JSRunningText1.Color);
|
Re: INI Fragen wie immer
Du kannst Farben einfach als integer speichern, probier das mal!
|
Re: INI Fragen wie immer
mit dem colorToInt
|
Re: INI Fragen wie immer
Hallo,
wenn die Methode einstellungenf4 im Handler für das OnCreate-Ereignis von Form1 aufgerufen wird, kann das zu einer Zugriffsverletzung führen, da zu diesem Zeitpunkt die übrigen Formulare möglicherweise noch nicht existieren. Die zugehörigen Formularvariablen (in diesem Fall Form4) haben dann den Wert NIL. Gruß Hawkeye |
Re: INI Fragen wie immer
Also ic Poste mal meine ganze Form
ich bekomme immer dan einen Fehler wenn etwas auf eine andere Form zugreifen will(von Form3 auf Form6) Bei allen auskommentierten sachen habe ich einen fehler
Delphi-Quellcode:
unit Unit6; // Laufschrift bearbeiten
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Buttons, MPlayer, JsRunningText, Spin, ColorGrd, IdBaseComponent,InIFiles, IdComponent, IdTCPConnection, IdTCPClient, IdTime; type TForm6 = class(TForm) Button2: TButton; Button3: TButton; Button4: TButton; Label3: TLabel; Label4: TLabel; Panel1: TPanel; Panel2: TPanel; Panel4: TPanel; SpeedButton1: TSpeedButton; JsRunningText1: TJsRunningText; Memo1: TMemo; GroupBox1: TGroupBox; Label1: TLabel; Label7: TLabel; ComboBox1: TComboBox; SpinEdit1: TSpinEdit; CheckBox1: TCheckBox; FontDialog1: TFontDialog; Button1: TButton; ColorDialog1: TColorDialog; Button5: TButton; IdTime1: TIdTime; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure SpeedButton1Click(Sender: TObject); procedure Memo1Change(Sender: TObject); procedure SpinEdit1Change(Sender: TObject); procedure ComboBox1Change(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure FormShow(Sender: TObject); procedure Button5Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private lauftext :TFileName; Laufschrift: TFileName; { Private-Deklarationen } public const laufschrifttext = 'Laufschrift'; farbe = 'Farbehintergrund'; stufe = 'Stufe'; stufelaufschrift = 'stufelaufschrift'; Richtung = 'Richtung'; ein_aus = 'Ein/Aus';{ Public-Deklarationen } end; var Form6: TForm6; implementation uses Unit2, Unit1, Unit11, Unit3; {$R *.dfm} procedure TForm6.FormCreate(Sender: TObject); var i :integer; begin for i:= 0 to ComponentCount-1 do //XP Anzeige if Components[i] is TPanel then (Components[i] as TPanel).ParentBackground:= False; Laufschrift := (ExtractFilePath(ParamStr(0)) + 'settings.ini'); with TMemIniFile.Create(Laufschrift) do try JsRunningText1.Run:= ReadBool(laufschrifttext, ein_aus, JsRunningText1.Run); SpinEdit1.Value:= ReadInteger(Laufschrifttext ,stufe, SpinEdit1.Value); ComboBox1.ItemIndex:= ReadInteger(Laufschrifttext ,Richtung, ComboBox1.ItemIndex); if ComboBox1.ItemIndex = 1 then begin Combobox1.Text:= 'Rechts'; end else begin Combobox1.Text:= 'Links'; end; // JSRunningText1.Color:= StringToColor(ReadString(Laufschrifttext,farbe,JSRunningText1.Color); finally Free; end; end; //==============Speichern der ini bei schließen der Form======================= procedure TForm6.FormDestroy(Sender: TObject); begin Laufschrift := ExtractFilePath(ParamStr(0)) + 'settings.ini'; begin with TMemIniFile.Create(Laufschrift) do try WriteInteger(laufschrifttext,stufe,SpinEdit1.Value); UpdateFile; finally Free; end; end; end; procedure TForm6.FormShow(Sender: TObject); begin Form6.Top:= 0; Form6.Left:= 0; lauftext:= ExtractFilePath(ParamStr(0)) +'Einstellungen\'+ 'Laufschrifttext.txt'; Memo1.Lines.LoadFromFile(lauftext); Form6.DoubleBuffered:= True; JsRunningText1.Font.Size:= 12; JsRunningText1.AlwaysCenterText:= True;// text miitig setzen ComboBox1.ItemIndex:=0; Memo1.SetFocus; end; //========= Button Text bearbeiten=============================================== procedure TForm6.Button1Click(Sender: TObject); begin if Memo1.Text = '' then begin MessageDlgPos('Bitte zuerst Text eingeben!',mtInformation,[mbOk],0,260,200); Memo1.SetFocus; end else begin If FontDialog1.Execute then begin JsRunningtext1.Font:= Fontdialog1.Font; JsRunningText1.AlwaysCenterText:= True; Form3.JsRunningtext1.Font:= Fontdialog1.Font; Form3.JsRunningText1.AlwaysCenterText:= True; end; end; end; //=========Laufschrift einschalten============================================== procedure TForm6.Button2Click(Sender: TObject); begin Laufschrift := ExtractFilePath(ParamStr(0)) + 'settings.ini'; with TMemIniFile.Create(Laufschrift) do try WriteBool(laufschrifttext,ein_aus,True); UpdateFile; finally Free; end; if JSRunningText1.Run = True then //Wenn Timer1 ein begin MessageDlgPos('Laufschrift ist eingeschaltet !',mtInformation,[mbOk],0,260,200); end else if Memo1.Text = '' then //Wenn Edit1 leer begin MessageDlgPos('Bitte zuerst Text eingeben!',mtInformation,[mbOk],0,260,200); Memo1.SetFocus; //Setze Focus auf Edit1 end else begin lauftext:= ExtractFilePath(ParamStr(0)) +'Einstellungen\'+ 'Laufschrifttext.txt'; Memo1.Lines.SaveToFile(lauftext); //in Datei speichern alleLehrer.txt JsRunningText1.Run:= True; JsRunningText1.Font.Size:= 12; JsRunningText1.AlwaysCenterText:= True; JsRunningText1.AlwaysCenterText:= True; Form3.JsRunningText1.Run:= True; Form3.JsRunningText1.Font.Size:= 18; Form3.JsRunningText1.Font.Style:= [fsBold]; Form3.JsRunningText1.AlwaysCenterText:= True; Form3.Panel1.Visible:= True; end; end; //=============Laufschrift ausschalten========================================== procedure TForm6.Button3Click(Sender: TObject); begin Laufschrift := ExtractFilePath(ParamStr(0)) + 'settings.ini'; with TMemIniFile.Create(Laufschrift) do try WriteBool(laufschrifttext,ein_aus,False); UpdateFile; finally Free; end; if JSRunningtext1.Run = False then begin MessageDlgPos('Laufschrift ist bereits ausgeschaltet!',mtInformation,[mbOk],0,260,200); end else lauftext:= ExtractFilePath(ParamStr(0)) +'Einstellungen\'+ 'Laufschrifttext.txt'; Memo1.Lines.SaveToFile(lauftext); //in Datei speichern alleLehrer.txt JsRunningText1.Run:= False; Form3.JsRunningText1.Run:= False; Label3.Visible:= False; Label4.Visible:= False; JSRunningText1.Color:= ClWhite; Form3.Panel1.Visible:= False; end; //=========Bedienungsanleitung aufrufen========================================= procedure TForm6.SpeedButton1Click(Sender: TObject); begin Form11.Show; Form11.Webbrowser1.Navigate('\Programme\ElInta\ElInta\Bedienungsanleitung.pdf'); end; //===========Schließen========================================================== procedure TForm6.Button4Click(Sender: TObject); begin Form6.Close; Form2.Visible:= True; end; //========Text für die Laufschrift eingeben===================================== procedure TForm6.Memo1Change(Sender: TObject); begin JsRunningText1.Text:= Memo1.Lines; Form3.JsRunningText1.Text:= Memo1.Lines; end; //========Geschwindigkeit der Laufschrift ändern================================ procedure TForm6.SpinEdit1Change(Sender: TObject); begin Form3.SpinEdit1.Value:= SpinEdit1.Value; // JsRunningText1.Steps:= SpinEdit1.Value; // Hier bekomme ich einen zugriffsfehler end; //=====Richtung für die Laufschrift ändern====================================== procedure TForm6.ComboBox1Change(Sender: TObject); begin Laufschrift := ExtractFilePath(ParamStr(0)) + 'settings.ini'; begin JsRunningText1.Direction:= TJsRunningTextDirection(ComboBox1.ItemIndex); with TMemIniFile.Create(Laufschrift) do try WriteInteger(laufschrifttext ,Richtung ,ComboBox1.ItemIndex); UpdateFile; finally Free; end; Form3.JsRunningText1.Direction:= TJsRunningTextDirection(ComboBox1.ItemIndex); end; end; //===========Schaten für die Laufschrift======================================== procedure TForm6.CheckBox1Click(Sender: TObject); begin JsRunningText1.Shadow.Visible:=CheckBox1.Checked; Form3.JsRunningText1.Shadow.Visible:=CheckBox1.Checked; end; //===========farben ändern====================================================== procedure TForm6.Button5Click(Sender: TObject); begin Laufschrift := ExtractFilePath(ParamStr(0)) + 'settings.ini'; begin with TMemIniFile.Create(Laufschrift) do try if Colordialog1.Execute then begin JSRunningText1.Color:= ColorDialog1.Color; // WriteInteger(laufschrifttext,farbe,ColorToInt(ColorDialog1.Color)); Form3.JSRunningText1.Color:= ColorDialog1.Color; UpdateFile; end; finally Free; end; end; end; end. |
Re: INI Fragen wie immer
Herrgott zeig doch mal ein wenig eigeninitiative :roll:
Es gibt hier eine Forensucher, es gibt eine Internetsuchmaschine mit den Augen und auch eine Menge Fachliteratur. Du musst hier nicht wegen jedem Mist gleich eine neue Frage eröffnen. Außerdem solltest du dir die Vorschläge der Anderen mal zu Herzen nehmen. Jemand sagte bereits dass es vermutlich daran liegt, dass die andere Form noch nicht erstellt wurde. |
Re: INI Fragen wie immer
Wurde es nicht Posten wenn ich es nicht schon Probiert hätte
und ich denke mal das es nicht so schwere Fragen sind für euch habe den rat schlag auch befolgt und das Problem teils gelößt und zwar hab ich es jetz einfach in einen Timer gesetzt weil Form create und show auch nicht helfen
Delphi-Quellcode:
so gehts jetzt aber ich kann doch jetzt nicht alles in einen timer setzten??
//========Geschwindigkeit der Laufschrift ändern================================
procedure TForm6.SpinEdit1Change(Sender: TObject); begin JsRunningText1.Steps:= SpinEdit1.Value; // Stufe einstellen Timer1.Enabled:= true; end; procedure TForm6.Timer1Timer(Sender: TObject); begin Form3.JsRunningText1.Steps:= Form6.SpinEdit1.Value; Timer1.Enabled:= False; end; Und das Problem mit der Farbe habe ich auch noch immer |
Re: INI Fragen wie immer
Hi ich versuche es einfach nochmal und hoffe und bitte das mir vielleicht doch noch einer hilft
wie gesagt die meisten fehler habe ich behoben in dem ich einen timer gesetzt habe aber das mit dem speichern der Farben in die ini datei geht net so wie ich mir das vor stelle so speicher ich das ganze
Delphi-Quellcode:
das steht dann in der ini
procedure TForm6.Button5Click(Sender: TObject);
begin Laufschrift := ExtractFilePath(ParamStr(0)) + 'settings.ini'; begin with TMemIniFile.Create(Laufschrift) do try if Colordialog1.Execute then begin JSRunningText1.Color:= ColorDialog1.Color; WriteString(laufschrifttext,farbe,(ColorToString(ColorDialog1.Color))); // hier speicher ich das Form3.JSRunningText2.Color:= ColorDialog1.Color; UpdateFile; end; finally Free; end; end; end;
Delphi-Quellcode:
so versuche ich das dann wieder aufzu rufen aber das geht nicht
Farbehintergrund=clLime
Delphi-Quellcode:
inkompatieble typen String und Tcolor
procedure TForm6.FormCreate(Sender: TObject);
var i :integer; begin for i:= 0 to ComponentCount-1 do //XP Anzeige if Components[i] is TPanel then (Components[i] as TPanel).ParentBackground:= False; Laufschrift := (ExtractFilePath(ParamStr(0)) + 'settings.ini'); with TMemIniFile.Create(Laufschrift) do try JsRunningText1.Run:= ReadBool(laufschrifttext, ein_aus, JsRunningText1.Run); SpinEdit1.Value:= ReadInteger(Laufschrifttext ,stufe, 0); JSRunningText1.Color:= StringToColor(ReadString(Laufschrifttext,farbe,(JSRunningText1.Color))); // hier bekomme ich einen Fehler finally Free; end; end; wo ist der Fehler :stupid: |
Re: INI Fragen wie immer
Moin Sascha,
der Default-Wert bei deinem ReadString() muss ein String sein, du übergibst aber einen TColor-Wert:
Delphi-Quellcode:
Freundliche Grüße
// hier bekomme ich einen Fehler:
JSRunningText1.Color := StringToColor(ReadString(Laufschrifttext, farbe, (JSRunningText1.Color))); // besser so: JSRunningText1.Color := StringToColor(ReadString(Laufschrifttext, farbe, ColorToString(JSRunningText1.Color))); |
Re: INI Fragen wie immer
Danke marabu jetzt funzt es und ich verspreche in der Zukunft mehr eigeninitiative zu zeigen danke an alle
|
Re: INI Fragen wie immer
Noch ein kleiner gutgemeinter Tipp: formulier deine Fragen etwas aussagekräftiger!
Statt: "da bekomm ich einen Fehler" wär es z.B. besser: "an dieser Stelle wird eine Zugriffsverletzung gemeldet" Bei der ersten Variante muss derjenige der antworten will eventuell erst das ganze selbst in Delphi ausprobieren um zu sehen welchen Fehler das Programm erzeugt, bei der zweiten Variante weiss man sofort: da wird auf etwas nicht erzeugtes zugegriffen. Je genauer du dein Problem bschreibst desto schneller und treffender werden Antworten und Lösungsvorschläge sein. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 Uhr. |
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 by Thomas Breitkreuz