| Autor |
Beitrag |
elundril
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: So 13.07.08 14:32
sry, hab kein Delphi da zum ausprobieren. Es war auch mehr eine Vermutung das es so gehen könnte als eine aussage.
lg elundril
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|
V!P3R 
      
Beiträge: 151
|
Verfasst: So 13.07.08 16:08
Hmmm... kennt ihr QIP (vllt ist das auch bei ICQ)
wenn man da die einstellungen für die schrift, also schriftart, größe, Farbe Style usw ändert, ändert sich nur die nachricht, nicht aber (Beispiel)
| Zitat: | | Name (17:31:17 30/05/2008) |
also siehts (z.B.)so aus:
| Zitat: | Name (17:31:17 30/05/2008)
Nachricht
|
geht das vllt mit delphi auch irgentwie?
MfG
|
|
elundril
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: So 13.07.08 17:11
Hallo,
zu deinem Vorherigen Problem wie du das RichEdit speichern sollst hab ich jetzt etwas getüftelt und hab nun folgenden, schweren, überaus komplizierten Code:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.Speichern; var INIFile: TINIFile; MyStream: TStringStream; begin INIFile := TINIFile.Create(PathToINI); MyStream := TStringStream.Create(''); RichEdit1.Lines.SaveToStream(MyStream); INIFile.WriteString('Richedits','Richedit1',MyStream.DataString); INIFile.Free; MyStream.Free; end; |
soweit zum speichern. das laden geht dann ganz ähnlich:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.Laden; var INIFile: TINIFile; MyStream: TStringStream; begin INIFile := TINIFile.Create(PathToINI); MyStream := TStringStream.Create(''); MyStream.DataString := INIFile.ReadString('Richedits','Richedit1',''); RichEdit1.Lines.LoadFromStream(MyStream); INIFile.Free; MyStream.Free; end; |
das war auch schon der ganze zauber. natürlich noch mit exeptionhandlern versehen und so weiter aber das hab ich mal erspart.
lg elundril
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|
Yogu
      
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: So 13.07.08 17:33
|
|
elundril
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: So 13.07.08 21:56
es heist loadfromfile und nicht read.
aber dann könnt er nicht mehrere richedits in eine datei und auch noch andere optionen in eine datei schreiben können. und ich glaub das will er.
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|
V!P3R 
      
Beiträge: 151
|
Verfasst: Mo 14.07.08 11:45
| Zitat: | | aber dann könnt er nicht mehrere richedits in eine datei und auch noch andere optionen in eine datei schreiben können. und ich glaub das will er. |
genau das ist es. elundril hat recht!
mit SaveToFile und LoadFromFile hab ich auch schon gearbeitet, aber jetzt wo ich ne INI hab, würde ich sie gern in die INI schreiben, damit ich (Ich hab MEHRERE RichEdits) nicht ganz so viele Dateien habe.
PS: Ich teste mal elundrils vorschlag!
MfG
Edit: Folgender Fehler:
Delphi-Quelltext 1:
| MyStream.DataString := Ini.ReadString('Richedits','Richedit1',''); |
Delphi-Quelltext 1:
| [Fehler] Unit1.pas(5179): Einer Nur-Lesen Eigenschaft kann kein Wert zugewiesen werden |
|
|
elundril
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: Mo 14.07.08 13:39
ok, sorry, den laden teil hab ich nie getestet. werd mich gleich an die arbeit machen und eine lösung finden! sorry!
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|
V!P3R 
      
Beiträge: 151
|
Verfasst: Mo 14.07.08 13:45
musst dich nich entschuldigen, ich sags nur, weil ich selbst würde das problem nicht finden
Ansonsten: vielen dank schon mal
MfG
|
|
Yogu
      
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: Mo 14.07.08 13:55
Am Besten benutzt du die Methode WriteBinaryStream der Ini-Datei:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| procedure TForm1.Speichern; var INIFile: TINIFile; MyStream: TMemoryStream; begin INIFile := TINIFile.Create(PathToINI); try MyStream := TMemoryStream.Create; try RichEdit1.Lines.SaveToStream(MyStream); INIFile.WriteBinaryStream('Richedits', 'Richedit1', MyStream); finally MyStream.Free; end; finally INIFile.Free; end; end; |
Die markierten Stellen sind die geänderten. Das Laden geht analog dazu.
|
|
V!P3R 
      
Beiträge: 151
|
Verfasst: Mo 14.07.08 14:13
Danke
Aber wie muss die stelle heißen?
Delphi-Quelltext 1:
| MyStream := Ini.ReadBinaryStream('Richedits','Richedit1',''); |
das ist die umkehrung von
Delphi-Quelltext 1:
| Ini.WriteBinaryStream('Richedits','Richedit1',MyStream); |
(imom kommt fehlermeldung:
Delphi-Quelltext 1:
| [Fehler] Unit1.pas(5178): Inkompatible Typen: 'TStream' und 'String' |
|
|
Blackheart666
      
Beiträge: 2195
XP
D3Prof, D6Pers.
|
Verfasst: Mo 14.07.08 14:19
Dafür sind Ini Dateien nicht gedacht, am besten du überdenkst nochmal dein ganzes Konzept.
Man könnte dir eventuell auch besser helfen wenn du nicht so sparsam mit Informationen wärst.
_________________ Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)
|
|
V!P3R 
      
Beiträge: 151
|
Verfasst: Mo 14.07.08 14:21
informationen von/für was?
|
|
Fabian E.
      
Beiträge: 554
Windows 7 Ultimate
Visual Studio 2008 Pro, Visual Studion 2010 Ultimate
|
Verfasst: Mo 14.07.08 14:21
|
|
Yogu
      
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: Mo 14.07.08 14:26
|
|
V!P3R 
      
Beiträge: 151
|
Verfasst: Mo 14.07.08 14:41
hmm irgentwas klappt noch nicht ganz. ich poste noch mal alles:
Delphi-Quelltext 1: 2: 3: 4:
| var Form1: TForm1; Ini: TIniFile; MyStream:TMemoryStream; |
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| procedure TForm1.B_INI_WriteClick(Sender: TObject); begin Ini :=TIniFile.Create(ExtractFilePath(ParamStr(0))+'INI\INI-Datei.ini'); MyStream := TMemoryStream.Create; RE_News.Lines.SaveToStream(MyStream); Ini.WriteBinaryStream('Richedits','Richedit1',MyStream);
Ini.Free; MyStream.Free; end; |
und
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure TForm1.B_INI_ReadClick(Sender: TObject); begin Ini :=TIniFile.Create(ExtractFilePath(ParamStr(0))+'INI\INI-Datei.ini'); MyStream := TMemoryStream.Create; Ini.ReadBinaryStream('Richedits', 'Richedit1', MyStream); RE_News.Lines.LoadFromStream(MyStream);
Ini.Free; MyStream.Free; end; |
MfG
Edit:Hmmm
In meiner INIFile steht:
Quelltext 1: 2:
| [Richedits] Richedit1= |
Obwohl ich was reingeschrieben und anschließend gespeichert hab.
|
|
Blackheart666
      
Beiträge: 2195
XP
D3Prof, D6Pers.
|
Verfasst: Mo 14.07.08 14:53
V!P3R hat folgendes geschrieben: | | informationen von/für was? |
Witzbold - Wie gesagt überdenke dein Konzept - 20 Richedits ... da läuft irgendetwas gegen den Baum.
_________________ Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)
|
|
V!P3R 
      
Beiträge: 151
|
Verfasst: Mo 14.07.08 15:01
Ja ich erinnere mich an den, der lieber unbekannt bleibt und wie man sagte "ca 800 Editfelder" benutze. zugegeben man kann das was ich mache sicherlich professioneller machen, aber ich habe 20 memos, diese memos sollen eine art merkzettel darstellen, die man an eine "virtuelle" pinnwand heften kann, da ich schon mal ein problem mit ähnlichem hatte (damals wars ein TShape) hab ich einfach 20 einzelne memos gemacht, man sieht an den zeilenangaben der fehler, die delphi gemeldet hat, das das jetzt ziemlich ausartet, aber noch funktioniert alles -> bis auf die probleme dich ich hier reinschreib...
MfG
|
|
V!P3R 
      
Beiträge: 151
|
Verfasst: Mo 14.07.08 15:41
Aber ich werds jetzt doch mit SaveToFile machen, in eine word-seite, damit die Fonts gespeichert werden
wenn jemand noch ne idee zum stream hat, ich wäre dankbar.
aber trotzdem: an alle vielen dank!
MfG
Edit: hab grade bemerkt das der Font (auch die Farbe usw) auch im .txt format gespeichert werden.
MfG
|
|
Blackheart666
      
Beiträge: 2195
XP
D3Prof, D6Pers.
|
Verfasst: Mo 14.07.08 15:50
Nichts für ungut aber dir scheinen so gut wie alle Grundkentnisse zu fehlen vieleicht solltest du dir noch einige Tutorials reinziehen die hier im DF zu finden sind. 
_________________ Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)
|
|