AGB  ·  Datenschutz  ·  Impressum  







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

Memo in Variable

Ein Thema von Luki206 · begonnen am 27. Nov 2013 · letzter Beitrag vom 28. Nov 2013
Antwort Antwort
Luki206
(Gast)

n/a Beiträge
 
#1

Memo in Variable

  Alt 27. Nov 2013, 20:03
Hi,
ich möchte ein Memo in eine Variable 'packen' und diese dann nutzen damit ein anderes Memo mit dem Inhalt gefüllt wird. Ich habe es bis jetzt mit einer Schleife ausprobiert und das sieht so aus:
Delphi-Quellcode:
procedure TFrmHaupt.ActBuchenExecute(Sender: TObject);
var memo, weitergabe : String; i, j : Integer;
begin
 j := 0;
 for i := 10 downto 1 do begin
    memo := (Bestell.Lines[j]);
    ZuZahl.Lines[j] := (memo);
    j := j+1;
 end;
end;
Es funktioniert nicht wirklich und ich habe keine Lust die Memos erst als .txt zu speichern um sie dann im anderen Memo wieder zu laden..
Danke
Luki
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#2

AW: Memo in Variable

  Alt 27. Nov 2013, 20:28
Delphi-Quellcode:
var
  s: String;
begin
  s := Memo1.Lines.Text;
  
  Memo2.Lines.Text := s;
end;
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.610 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Memo in Variable

  Alt 27. Nov 2013, 20:29
Wie wärs mit ZuZahl.Text := Bestell.Text; ?
So wie du es im Moment machst, würden die Daten umgekehrt herum im anderen Memo erscheinen. Wenn es so sein soll, dann versuch es mit ZuZahl.Lines.Add(memo); . Dann brauchst du auch nicht deine Variable j und musst diese auch nicht hochzählen.

PS: Ich ignorier den Beitrag von Popov mal
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.139 Beiträge
 
Delphi 12 Athens
 
#4

AW: Memo in Variable

  Alt 27. Nov 2013, 20:38
Ein ganzes Memo?
Du meinst NUR eine Zeile, also einen billigen String.

Delphi-Quellcode:
var s: string; // Variable in irgendwas umbenannt, da es ja kein Memo ist.

j := 0;
for i := 10 downto 1 do begin
  s := Bestell.Lines[j];
  ZuZahl.Lines[j] := s;
  j := j + 1;
end;

// aber warum nicht einfach umrechen?

for i := 10 downto 1 do begin
  s := Bestell.Lines[10 - i];
  ZuZahl.Lines[10 - i] := s;
end;

// aber warum wurde nicht direkt i verwendet?

for i := 0 to 9 do begin
  s := Bestell.Lines[i];
  ZuZahl.Lines[i] := s;
end;
So, grundsätzlich geht das, ABER, du hast schonwieder die Fehlerbeschreibung vergessen.

Und obwohl es mir schon was denken kann, was falsch ist:
- Was geht nicht?
- bzw. Wie geht es nicht? Was kommt raus und was erwartest du stattdessen?
- Gibt es Fehlermeldungen und wen ja, welche gibt es?
- Wenn es eine Exception gibt, welche Zeile gibt der Debugger an?

[edit]
Aber warum wurde nicht direkt i verwendet?
Hab bei dem Code nicht gleich voll durchgesehn und dachte wu willst die Reihenfolge der Zeilen umdrehen.

Die beste Lösung wurde zwar schon genannt Memo1.Text := Memo2.Text; oder Memo1.Lines.Text := Memo2.Lines.Text; Aber die zeilenweise Lösung wäre auch gegangen, wenn man es "richtig" macht.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (27. Nov 2013 um 20:44 Uhr)
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#5

AW: Memo in Variable

  Alt 27. Nov 2013, 22:55
@Luki206: Du möchtest doch nicht wirklich ein Memo in eine Variable packen, sondern dessen Inhalt. Der wird durch das Property Lines repräsentiert, und das ist im Großen & Ganzen eine Stringliste. Würdest du wirklich das komplette Memo mit all seinen Properties in einer Variablen speichern wollen, wäre das ein Objekt vom Typ TMemo. Um den Inhalt eines Memo zu speichern, ist es aber nicht notwendig, das gesamte Objekt TMemo zu speichern.

Mit anderen Worten: Der Kommunikation unter Programmierern liegt nicht nur die Alltagssprache zugrunde, sondern zu einem wesentlichen Teil die entsprechende Fachsprache, die es erfordert, Sprachübereinkünfte dieses Fachbereichs zu erlernen und zu übernehmen, um sich verständlich machen zu können.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Memo in Variable

  Alt 27. Nov 2013, 23:08
@Perlsau

Evtl. ja doch ... mal wörtlich die Anforderung umgesetzt:
Delphi-Quellcode:
var
  LMemo : TMemo;
begin
  // Memo in Variable packen
  LMemo := Memo1;
  // nutzen um anderes Memo mit dem Inhalt füllen
  Memo2.Lines.Assign( LMemo.Lines );
  // alternativ geht auch
  Memo2.Lines := LMemo.Lines;
end;
es geht natürlich auch kürzer
Delphi-Quellcode:

Memo2.Lines := Memo1.Lines;
Wenn eh nur der Inhalt interessant ist, dann wäre auch denkbar
Delphi-Quellcode:
var
  LStrings : TStrings;
begin
  LStrings := TStringList.Create;
  try
    LStrings.Assign( Memo1.Lines );
    Memo2.Lines := LStrings;
  finally
    LStrings.Free;
  end;
end;
Das man der Eigenschaft Delphi-Referenz durchsuchenTMemo.Lines einfach etwas zuweisen (vom Typ Delphi-Referenz durchsuchenTStrings) kann, liegt am Setter
Delphi-Quellcode:
procedure TCustomMemo.SetLines( Value : TStrings );
begin
  FLines.Assign( Value );
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (27. Nov 2013 um 23:15 Uhr)
  Mit Zitat antworten Zitat
Luki206
(Gast)

n/a Beiträge
 
#7

AW: Memo in Variable

  Alt 28. Nov 2013, 13:05
Ok, ich danke euch Es funktioniert jetzt

@Perlsau: Ich versuche das nächste mal ein wenig genauer meine Frage zu stellen
  Mit Zitat antworten Zitat
Antwort Antwort


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