Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Zeilen in einer Memo auslesen (https://www.delphipraxis.net/83988-zeilen-einer-memo-auslesen.html)

Sec 9. Jan 2007 19:30


Zeilen in einer Memo auslesen
 
Hallo ihr lieben , 1A forum hatt mir schon sehr geholfen!!!


Nur eine habe ich die ich bisherr nich löschen konnte... ich bin grade dabei MasterMind zu programmieren.
Nun wenn ich den spielstand lade sollen die Panels sich auch wieder einfärben das Problem was ich habe ist das es nicht geht weil ich nicht weiß wie ich bestimmte zeilen in einer memo anspreche.

das der inhalt des safe´s der ausgelesen wird(reihenfolge variabel ;) ) (steht inder memo1)

Code:
red 128
lime 65280
maroon 128
Blue 16711680
Yellow 65535
Damit will ichs auslesen

Delphi-Quellcode:
procedure TForm1.Open1Click(Sender: TObject);

begin
///das laden der save datei ///
  begin
      if OpenDialog1.Execute() then
      begin
      memo1.lines.LoadFromFile(opendialog1.filename);
  end;


/// laden der farben nach dem speichern///

if memo1.Lines ='red 128' then

begin
panel1.Color := clRed;
end;
naja ersma muss der ja wissen welche zeile der code red 128 kommt ja mehrmals vor weil viele zeilen vorhanden sind.
aber der code generell vom auslesen funktioniert nicht er sagt mir diesen fehler

[Fehler] Unit1.pas(1495): E2010 Inkompatible Typen: 'string' und 'TStrings'

hoffe ihr könnt mir helfen!!!
mfg
sec!

r2c2 9. Jan 2007 19:39

Re: Zeilen in einer Memo auslesen
 
Hallo :hi:

Memo.Lines kann man wie ein Array ansprechen:
Delphi-Quellcode:
  s := Memo1.Lines[0]; // erste Zeile
BTW: Guck dir mal n paar Tutorials an... Dann tauchen solche Fragen gar nicht erst auf...

mfg

Christian

Sec 9. Jan 2007 20:04

Re: Zeilen in einer Memo auslesen
 
ok werd ich tun aber das muss ich jetzt schnell wissen, drängel :)

normalerweise kann man das doch so machen
das von zeile 1 bis z.b. 35 alle angesprochen werden

Delphi-Quellcode:
Memo1.Lines[1..35]:= 'red 128' ;
das geht aber nich richtig, bei anderen sachen funktioniert das aber was is denn der fehler???

EDatabaseError 9. Jan 2007 20:07

Re: Zeilen in einer Memo auslesen
 
Zitat:

Zitat von Sec
ok werd ich tun aber das muss ich jetzt schnell wissen, drängel :)

normalerweise kann man das doch so machen
das von zeile 1 bis z.b. 35 alle angesprochen werden

Delphi-Quellcode:
Memo1.Lines[1..35]:= 'red 128' ;
das geht aber nich richtig, bei anderen sachen funktioniert das aber was is denn der fehler???

hmmm...sowas geht doch nur bei Array Deklerationen...du musst es so machen:

Delphi-Quellcode:
for i := 1 to 35 do
Memo1.Lines[i] := 'red 128';

Sec 9. Jan 2007 20:44

Re: Zeilen in einer Memo auslesen
 
Liste der Anhänge anzeigen (Anzahl: 1)
jo danke ihr seit echt die besten :D

nur eine lösung fehlt mir noch, er färbt mir jetzt nach dem laden alle zeilen rot... wie kann ich das so schreiben das er nur rot schreibt wenn rot in einer bestimmten zeile vorhanden ist.... panel1=clred das er auch nur des wieder rot macht


ich verlange zwar jetzt ganz schön viel aber für euch richtige software entwickler ist das doch ne arbeit von 5min die ihr für mich opfern könnt
:cry:


Delphi-Quellcode:
procedure TForm1.Open1Click(Sender: TObject);
var i:integer   ;
begin
///das laden der save datei ///
begin
      if OpenDialog1.Execute() then
      begin
      memo1.lines.LoadFromFile(opendialog1.filename);
      end;
/// laden der farben nach dem speichern///
begin
for i := 1 to 35 do
Memo1.Lines[i] := 'red 128';
Memo1.lines[i] := 'lime 65280';

panel1.Color := clRed;
panel2.Color := clRed;
panel3.Color := clRed;



end;
///
end;

DP-Maintenance 9. Jan 2007 20:47

DP-Maintenance
 
Dieses Thema wurde von "Christian Seehase" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.
ein delphispezifisches Problem

r2c2 9. Jan 2007 20:56

Re: Zeilen in einer Memo auslesen
 
äh...

Zitat:

Zitat von Sec
ich verlange zwar jetzt ganz schön viel aber für euch richtige software entwickler ist das doch ne arbeit von 5min die ihr für mich opfern könnt
:cry:

Wir - also zumindest ich - werden deine Arbeit nicht machen. Es ist deine, nicht unsere. Auch, wenn das noch nicht mal 5 min dauert, sondern eher weniger...
Können wir uns drauf einigen, dass du Hilfe bekommst, es selbst hinzukriegen? Dann lernst du nämlich auch was...

Zitat:

Delphi-Quellcode:
procedure TForm1.Open1Click(Sender: TObject);
var i:integer   ;
begin
///das laden der save datei ///
begin
      if OpenDialog1.Execute() then
      begin
      memo1.lines.LoadFromFile(opendialog1.filename); // Muss es ein memo sein, oder reicht auch ne TStringList?
      end; // warum hier schon das End? Heißt im Klartext: wenn der User Abbrechen Klickt, wird zwar nix geladen, aber trotzdem was gemacht....
/// laden der farben nach dem speichern///
begin
for i := 1 to 35 do // Was, eenn es weniger als 36 Zeilen sind? BTW: Ist es Absicht, dass du die erste Zeile unterschlägst?
Memo1.Lines[i] := 'red 128';
Memo1.lines[i] := 'lime 65280'; // diese Zeile wird nur einmal ausgeführt ==> begin...end
// Außerdem: Was macht das für einen Sinn?

panel1.Color := clRed; // Hiermit färbst du die Panels, elgal was passiert rot
panel2.Color := clRed;
panel3.Color := clRed;

Und nochmal: Tu dir mal n paar einsteiger Tutorials an. z.B. sowas: http://www.dsdt.info/tutorials/?cat=1

Ohne Grundlagen einfach irgendwas zusammenzuschreiben, ohne, dass man ne Ahnung davon hat, bringt dir nur Frust. Ich will dich jetzt weder Entmutigen dir Infos vorenthalten oder sonstwas; aber ohne Grundlagen wird das nix. Du tust dir so keinen Gefallen...

mfg

Christian

Klaus01 9. Jan 2007 21:09

Re: Zeilen in einer Memo auslesen
 
Vielleicht schaust Du dir auch einmal die Methode TMemo.lines.IndexOf in der Hilfe
an. Wenn Du die komplette Zeile kennst die Du suchst, gibt Dir diese Methode
die Zeilenummer aus. 0 basierend.

Grüße
Klaus

Sec 9. Jan 2007 21:34

Re: Zeilen in einer Memo auslesen
 
also in der hilfe hab ich das mitdem indexOf nich gefunden nur einzelne angaben zum memo und welche befehle man hinzu machen kann. dennoch danke :).


und ja du hast natürlich recht ich will und soll lernen indem ichs selber mache :wall:
der sinn der zeile sollte sein das sich das panel je nachdem welche farbe es hatt (was in der memo steht) nach dem laden wieder die gleiche farbe bekommt. dabei spielt nutz ich eine sav datei die in die memo geschrieben und geladen werden kann! so hoffe jetzt versteht ihr was ich meine :D .


hmm nunja ich werd mal weiter probieren das muss irgendwie zu knachen sein. ich meld mich wieder ;)



////
EDIT

kurz noch, ist es möglich ein programm sich komplett neu starten zu lassen auf befehl???

EDatabaseError 9. Jan 2007 22:04

Re: Zeilen in einer Memo auslesen
 
Zitat:

Zitat von Sec
also in der hilfe hab ich das mitdem indexOf nich gefunden nur einzelne angaben zum memo und welche befehle man hinzu machen kann. dennoch danke :).


und ja du hast natürlich recht ich will und soll lernen indem ichs selber mache :wall:
der sinn der zeile sollte sein das sich das panel je nachdem welche farbe es hatt (was in der memo steht) nach dem laden wieder die gleiche farbe bekommt. dabei spielt nutz ich eine sav datei die in die memo geschrieben und geladen werden kann! so hoffe jetzt versteht ihr was ich meine :D .


hmm nunja ich werd mal weiter probieren das muss irgendwie zu knachen sein. ich meld mich wieder ;)



////
EDIT

kurz noch, ist es möglich ein programm sich komplett neu starten zu lassen auf befehl???


du musst eine batch datei erstellen die beim beenden des programms aufgerufen wird - in der batch datei machst du erst ne pause von ca. einer halben sekunde und rufst deine exe auf.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:33 Uhr.
Seite 1 von 2  1 2      

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