AGB  ·  Datenschutz  ·  Impressum  







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

Zeilen in einer Memo auslesen

Ein Thema von Sec · begonnen am 9. Jan 2007 · letzter Beitrag vom 10. Jan 2007
Antwort Antwort
Seite 1 von 2  1 2      
Sec

Registriert seit: 9. Jan 2007
8 Beiträge
 
#1

Zeilen in einer Memo auslesen

  Alt 9. Jan 2007, 19:30
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 128then

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!
  Mit Zitat antworten Zitat
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#2

Re: Zeilen in einer Memo auslesen

  Alt 9. Jan 2007, 19:39
Hallo

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

mfg

Christian
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
Sec

Registriert seit: 9. Jan 2007
8 Beiträge
 
#3

Re: Zeilen in einer Memo auslesen

  Alt 9. Jan 2007, 20:04
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

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

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Zeilen in einer Memo auslesen

  Alt 9. Jan 2007, 20:07
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

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';
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
Sec

Registriert seit: 9. Jan 2007
8 Beiträge
 
#5

Re: Zeilen in einer Memo auslesen

  Alt 9. Jan 2007, 20:44
jo danke ihr seit echt die besten

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



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;
Angehängte Dateien
Dateityp: rar mastermind_156.rar (286,7 KB, 5x aufgerufen)
  Mit Zitat antworten Zitat
9. Jan 2007, 20:47
Dieses Thema wurde von "Christian Seehase" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.
ein delphispezifisches Problem
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#7

Re: Zeilen in einer Memo auslesen

  Alt 9. Jan 2007, 20:56
äh...

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
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
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.757 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: Zeilen in einer Memo auslesen

  Alt 9. Jan 2007, 21:09
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
Klaus
  Mit Zitat antworten Zitat
Sec

Registriert seit: 9. Jan 2007
8 Beiträge
 
#9

Re: Zeilen in einer Memo auslesen

  Alt 9. Jan 2007, 21:34
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
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 .


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???
  Mit Zitat antworten Zitat
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Zeilen in einer Memo auslesen

  Alt 9. Jan 2007, 22:04
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
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 .


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.
Tobias
It's not a bug, it's a feature.
  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 15:57 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