AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

In INI Datei abspeichern

Ein Thema von mindforce · begonnen am 10. Mär 2006 · letzter Beitrag vom 12. Mär 2006
Thema geschlossen
Seite 4 von 6   « Erste     234 56      
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#31

Re: In INI Datei abspeichern

  Alt 11. Mär 2006, 19:11
Zitat von mindforce:
Schlau! Ja das steht da!
Gut, dann ist das Problem ja keines mehr.
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
 
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#32

Re: In INI Datei abspeichern

  Alt 11. Mär 2006, 19:19
Also ich kann nicht verstehen wie man drei Seiten für so
eine kleine INI Geschichte braucht. Das begin nach dem try
kannst du dir sparen, weil in try das sozusagen schon eingebaut ist!
Jetzt sollte es funktionieren. Und wenn du dir doch ein gutes Buch
kaufen willst, dann empfehler ich dir "Delphi für Kids" für 24,99€.

PS.: Ich bin auch 13() und wurde hier nie irgendwie beleidigt, oder sonst irgend was!

/EDIT: Das mit déinem Anhang ist doch wohl nicht dein ernst, oder??
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
 
mindforce
(Gast)

n/a Beiträge
 
#33

Re: In INI Datei abspeichern

  Alt 11. Mär 2006, 19:32
Bei der kurzen Zeit bei der du hier ja schon Angemeldet bist... na da war bei mir auch alles OK.
Wart´z mal ab das kommt nocht

...

/Edit: ICh glaube ich lösche mein Profil. Das reicht mir!
 
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#34

Re: In INI Datei abspeichern

  Alt 11. Mär 2006, 19:36
So,

bevor ich mir das noch länger ansehen muss hier mal ein kleiner Auszug aus meiner "Form-Übersetzungs-Klasse":

Delphi-Quellcode:
uses
  TypInfo, IniFiles;

var
  apppath: string;

function MyGetWideStrProp(Instance: TObject; const PropName: String): WideString;
resourcestring
  SUnknownProperty = 'Eigenschaft %s existiert nicht.';
var
  PropInfo: PPropInfo;
begin
  PropInfo := GetPropInfo(Instance, PropName);
  if PropInfo = nil then
  begin
    raise EPropertyError.CreateResFmt(@SUnknownProperty, [PropName]);
  end;
  result := GetWideStrProp(Instance, PropName);
end;

procedure MySetWideStrProp(Instance: TObject; const PropName: String; const Value: WideString);
resourcestring
  SUnknownProperty = 'Eigenschaft %s existiert nicht.';
var
  PropInfo: PPropInfo;
begin
  PropInfo := GetPropInfo(Instance, PropName);
  if PropInfo = nil then
  begin
    raise EPropertyError.CreateResFmt(@SUnknownProperty, [PropName]);
  end;
  SetWideStrProp(Instance, PropInfo, Value);
end;

procedure WriteIni(aForm: TForm; aType: TClass; const aProperty: string = 'Text');
var
  CurrentCompo: TComponent;
  ndx: integer;
  EditValueIni: TIniFile;
begin
  EditValueIni := TIniFile.Create(apppath + 'data.ini');
  try
    for ndx := 0 to Pred(aForm.ComponentCount) do
    begin
      CurrentCompo := aForm.Components[ndx];
      if (CurrentCompo is aType) then
      begin
        EditValueIni.WriteString(CurrentCompo.ClassName, CurrentCompo.Name, MyGetWideStrProp(CurrentCompo, aProperty));
      end;
    end;
  finally
    EditValueIni.Free;
  end;
end;

procedure ReadIni(aForm: TForm; aType: TClass; const aProperty: string = 'Text');
var
  CurrentCompo: TComponent;
  ndx: integer;
  EditValueIni: TIniFile;
  newText: string;
begin
  EditValueIni := TIniFile.Create(apppath + 'data.ini');
  try
    for ndx := 0 to Pred(aForm.ComponentCount) do
    begin
      CurrentCompo := aForm.Components[ndx];
      if (CurrentCompo is aType) then
      begin
        newText := EditValueIni.ReadString(CurrentCompo.ClassName, CurrentCompo.Name, '');
        MySetWideStrProp(CurrentCompo,aProperty,newText);
      end;
    end;
  finally
    EditValueIni.Free;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  apppath := IncludeTrailingBackslash(ExtractFilePath(ParamStr(0)));
  ReadIni(self,TEdit,'Text');
end;


procedure TForm1.FormDestroy(Sender: TObject);
begin
  WriteIni(self,TEdit,'Text');
end;
Was macht der Code?
Ganz einfach, er schreibt alle PropertyValues (Text oder Caption) einer TComponent der Form in eine Ini bzw. liest sie wieder.
Wenn man zusätzlich noch
ReadIni(self,TLabel,'Caption'); bzw.
WriteIni(self,TLabel,'Caption'); im Create / Destroy verwendet würden auch die Captions der Labels gespeichert und geladen werden.

@mindforce:
Normalerweise hätte ich das jetzt nicht gemacht. Du lernst NICHTS wenn Du einfach nur Code aus dem Forum in dein Projekt kopierst.
Ich bitte Dich eindringlich darum dir die Tips welche die User dir geben auch genau zu lesen und zu verstehen versuchen.

Und bitte bleibe etwas freundlicher!
Stephan B.
"Lasst den Gänsen ihre Füßchen"
 
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#35

Re: In INI Datei abspeichern

  Alt 11. Mär 2006, 19:43
Zitat von mindforce:
Wart´z mal ab das kommt nocht
Glaube ich nicht. Denn wie heißt es so schön? Wie man in den Wald ruft, so schallt es heraus...
Sebastian
Moderator in der EE
 
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#36

Re: In INI Datei abspeichern

  Alt 11. Mär 2006, 19:47
Zitat von mindforce:
Bei der kurzen Zeit bei der du hier ja schon Angemeldet bist... na da war bei mir auch alles OK.
Wart´z mal ab das kommt nocht
Es kommt immer drauf an, wie man sich verhält. Bei dir hat man einfach das Gefühl, daß du dich querstellst. Das mit deinen Anhängen wurde dir schon zigmal gesagt. Ebenso wurde dir schon zigmal empfohlen, Anfängertutorials zu lesen, damit du mal die Grundzüge von Delphi kennenlernst. Aber du willst das ja anscheinend nicht. Stattdessen machst du hier jeden dafür verantwortlich, daß du etwas nicht hinbekommst. Du bist 13, OK. Da hat man noch nicht viel Lebenserfahrung und muß noch vieles lernen. Das ist ja kein Problem. Nur deswegen wird niemand blöd angemacht. Aber du mußt eben auch zeigen, daß du bereit bist, zu lernen. Bei dir kann ich keinen Fortschritt feststellen seit ich dein erstes Posting gelesen habe. Immer pupst du rum (sorry Elvis, den Spruch mußte ich mir mal ausleihen ) und zeigst so gut wie keine Initiative.
Dieses Forum ist sehr hilfsbereit und im Normalfall auch nicht unfreundlich. Aber wenn jemand herkommt und sich bedienen läßt, und dabei auch noch unfreundlich und unverschämt wird, kann man sich sehr wohl mal das Recht rausnehmen und seine Meinung sagen. Und genau das hab ich jetzt mal gemacht.
Solltest du deswegen deinen Account löschen wollen, dann ist das deine Entscheidung, aber bevor du es machst, denk erstmal genau darüber nach, wie du dich verhältst. Wie man in den Wald reinruft, so kommt es zurück!
Auch mit 13 kann man schon erwachsene Züge zeigen, die vermisse ich bei dir aber völlig! Lies, was man dir schreibt und versuche, damit zu arbeiten!

Und wenn du ein Problem hast, dann beschreibe es ausführlich und denke vorher vielleicht auch mal drüber nach. (Die Fehlermeldung vorhin war ja wohl wirklich mehr als aussagekräftig. Hättest du dir die mal angeschaut, hättest du dir den Post auch gleich sparen können) Und wenn du Probleme mit den Grundlagen hast, dann lies doch jetzt mal endlich eines der Anfängertutorials oder kauf dir ein Buch für den Einstieg. Diese Tips scheinst du immer geflissentlich zu übergehen.

//Edit: Tippfehler beseitigt
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
 
mindforce
(Gast)

n/a Beiträge
 
#37

Re: In INI Datei abspeichern

  Alt 11. Mär 2006, 19:49
Ok Sorry.

Morgen wollte ich noch was über dieses Thema sagen. Ich will noch Fehrnsehen.

Gruss,

Mindforce

/Edit: Heute noch mach ich ein cooles bzw. ustiges Speil.
SOLANG NICHT JEMAND MEIN SPIEL BELEIDIGT!
 
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#38

Re: In INI Datei abspeichern

  Alt 11. Mär 2006, 19:55
Jetzt melde ich mich mal als Moderator zu Wort.

Bitte bleibt sachlich und beim Thema. Hier geht es nicht darum wie alt, jung, groß oder klein ein Mitglied der DP ist.
Auch nicht wie lange er schon dabei ist oder nicht.

Wenn ihr darüber diskutieren wollt/müsst macht dies bitte via PN.

Ansonsten sehe ich mich leider gezwungen den Thread zu schliessen.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
 
PierreB
(Gast)

n/a Beiträge
 
#39

Re: In INI Datei abspeichern

  Alt 11. Mär 2006, 20:45
Hast du's nun hinbekommen oder nicht ?
 
mindforce
(Gast)

n/a Beiträge
 
#40

Re: In INI Datei abspeichern

  Alt 11. Mär 2006, 20:47
Das ist es ja.

Irgendwie speichert er bei FormClose" den Text nicht im Edit1.

Hier mein Quellcode

Delphi-Quellcode:
 unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);

       procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  Ini: TIniFile;
begin
  Ini := TIniFile.Create( ChangeFileExt( Application.ExeName, '.INI' ) );
  try
  ini.WriteString('[NAME]', 'Hans', 'Peter'); //String wird geschrieben
  finally
    Ini.Free;

end
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var ini : TiniFile; //ini variable
begin
  ini := TiniFile.Create(ExtractFilePath(ParamStr(0))+'bin/'+'config.ini'); //ini erstellen
try
  begin
  Edit1.Text := ini.ReadString('NAME', 'Hans', ''); //String wird ausgelesen und in Edit eingetragen
  end;
  finally
  ini.free;

end;

end;

end.
Vielen Dank für deine Nachfrage PierreB.

Gruss,

Euer Mindforce

/Edit: Haha. Sorry ich habe die Code zusammengewürfelt. .
Sorry .
Ich gucke mal.
 
Thema geschlossen
Seite 4 von 6   « Erste     234 56      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz