AGB  ·  Datenschutz  ·  Impressum  







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

Memo in Stringlist umwandeln

Ein Thema von xZise · begonnen am 23. Apr 2006 · letzter Beitrag vom 23. Apr 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#1

Memo in Stringlist umwandeln

  Alt 23. Apr 2006, 17:05
Wie bekomme aus der Memo eine TStringList?

Delphi-Quellcode:
procedure TFVorschau.BitBtn2Click(Sender: TObject);
begin
  UIni.FIni.SaveIni(MVorschau.{Und was jetzt});
  close;
end;
Delphi-Quellcode:
procedure TFIni.SaveIni(Text : TStringList);
begin
  if SDSave.Execute then
    Text.SaveToFile(SDSave.FileName);
end;
Und TStrings funzt deswegen nicht:

Delphi-Quellcode:
procedure TFIni.SpeichernEinleiten(Sender: TObject);
var
  Text : TStringList;
  i, j : Integer;
begin
  Text := TStringList.Create;
  try
    { Text erstellen }
    // Nach Sections sortieren
    for i := 0 to High(SectionNames) do begin
      // Section setzen
      Text.Add(SectionNames[i]);
      for j := 0 to High(SeItVaValues) do
        // Gehört das Item zur Section?
        if SeItVaValues[j][0] = SectionNames[i] then
          // Items & Values werden zusammengestellt
          Text.Add(SeItVaValues[j][1] + '=' + SeItVaValues[j][2]);
    end;


    if ShowVorschau.Checked then
      UVorschau.FVorschau.Show(Text)
    else
      SaveIni(Text);
  finally
    Text.Free;
  end;
end;
Gibts eine Funktion, die das umwandelt?
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Memo in Stringlist umwandeln

  Alt 23. Apr 2006, 17:10
Hallo,

deklariere deine Variable Text als TStrings und weise ihr die TStringList-Instanz zu.
SaveIni sollte dann natürlich auch einen TStrings-Parameter erhalten.

Schon klappt das mit TMemo.Lines.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Memo in Stringlist umwandeln

  Alt 23. Apr 2006, 17:17
Ähm... welches Text?

Delphi-Quellcode:
procedure TFIni.SaveIni(Text : TStrings);
begin
  if SDSave.Execute then
    Text.SaveToFile(SDSave.FileName);
end;
so?

Dann gibst einen fehler mit SpeichernEinleiten!
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#4

Re: Memo in Stringlist umwandeln

  Alt 23. Apr 2006, 17:21
Hi!

Welchen Fehler gibt es denn?


Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Memo in Stringlist umwandeln

  Alt 23. Apr 2006, 17:22
Die lokale Variable Text meinte ich natürlich auch...

Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#6

Re: Memo in Stringlist umwandeln

  Alt 23. Apr 2006, 17:27
Wenn ich das mache meint er: Abstracter Fehler! Und auch mit richtiger Intialisierung

Text := TStrings.Create Das MVorschau(.Lines) nicht mit dem Übergabeparameter übereinstimmen!
Zitat von fkerber:
Welchen Fehler gibt es denn?
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Memo in Stringlist umwandeln

  Alt 23. Apr 2006, 17:34
Sieht der Anfang der Routine auch wirklich so aus?

Delphi-Quellcode:
procedure TFIni.SpeichernEinleiten(Sender: TObject);
var
  Text : TStrings; // <<--- TStrings!
  i, j : Integer;
begin
  Text := TStringList.Create; // <<--- TStringList!
  try
//Edit:

und SaveIni so?

Delphi-Quellcode:
procedure TFIni.SaveIni(Text : TStrings); // <<--- TStrings!
begin
  if SDSave.Execute then
    Text.SaveToFile(SDSave.FileName);
end;
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Memo in Stringlist umwandeln

  Alt 23. Apr 2006, 17:36
ja

edit:
Meine Stringlisten definiere ich immer als TStrings, sonst funktionieren sie nie.
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#9

Re: Memo in Stringlist umwandeln

  Alt 23. Apr 2006, 17:38
Genial Hawkeye!
Ich dachte bisher folgendes:
Delphi-Quellcode:
var <Variable> : <Typenbezeichnung>
{...}
<Variable> := <Typenbezeichnung d. Variable>.Create
Nun interessiert es mich noch, warum das so geht, wie du das beschrieben hast?

[edit]@ HawkeyeDer Rest war klar! Mich wunderte nur das ich nicht die obige Variante benutzten konnte
@ Knogge: Also ich bin bisher mit "reinen" TStringLists ganz gut zurecht gekommen ^^, aber so lange (ca. 4-5 Monate ist das ja nicht )[/edit]
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#10

Re: Memo in Stringlist umwandeln

  Alt 23. Apr 2006, 17:45
Ich vermute, du hast in einer Parameterliste noch eine "TStringList" benutzt (vielleicht in der Routine UVorschau.FVorschau.Show()?). Die Parameter kannst du eigentlich immer als "TStrings" deklarieren und dann "TStringList"-Instanzen übergeben. Man sollte lediglich keine Instanzen von TStrings erzeugen und benutzen. Das führt dann zu der Meldung "Abstrakter Fehler", weil erst TStringList die abstrakten Methoden überschriebt.

Überprüfe es am besten mal und melde dich, wenn's nicht klappt.

Gruß Hawkeye

//Edit: oops, jetzt habe ich glatt deinen letzten Beitrag verpaßt
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:29 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