Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Zahlen aus Memo entfernen (https://www.delphipraxis.net/84275-zahlen-aus-memo-entfernen.html)

DenSchub 14. Jan 2007 17:03


Zahlen aus Memo entfernen
 
Hi DP!

Ich habe ein dringendes problem:

Ich habe 2 memos.
In der ersten werden zahlen von 1 bis 100 erzeugt.
Kein problem.
jetzt möchte ich in der zweiten zahlen eingeben.
Das programm soll dann die zahlen, die ich in der 2ten memo eingetippt habe
aus der ersten entfernen.

Forensuche + CodeLib hab ich schon durchsucht!

Brauche bald antwort, da mein vater dass proggi gleich braucht!

Danke!

Dennis

Klaus01 14. Jan 2007 17:12

Re: Zahlen aus Memo entfernen
 
Wie sind denn die Zahlen im Memo1 angeordnet?

Eine Zahl pro Zeile? -> dann würde Dir indexof die gewünschte Zeile des memos mitteilen.

Wenn anders gibt es sicherlich noch andere Möglichkeiten.

Grüße
Klaus

DenSchub 14. Jan 2007 17:13

Re: Zahlen aus Memo entfernen
 
Immer eine Zahl pro zeile.

Wie mache ich das mit dem IndexOf?


Grüße Dennis

Klaus01 14. Jan 2007 17:23

Re: Zahlen aus Memo entfernen
 
Zeile:=memo1.lines.indexof('deineGesuchteZahl');
Findet aber nur die erste Zahl im Memo wenn es sein kann
das die Zahl mehrmals auftritt - indexof so lange ausführen bis
es -1 zurückgibt.
Indexof liefert auc nur dann ein Ergebnis wenn der gesuchte String 100%ig übereinstimmt.

Grüße
Klaus

DenSchub 14. Jan 2007 17:25

Re: Zahlen aus Memo entfernen
 
ich glaub, du verstehst mich falsch!
Memo1:
1
2
3
4
5
6
7
8
9
10
...

Memo2:

3
9
5
4

Ergebnis:
1
2
6
7
8
10

Klaus01 14. Jan 2007 17:28

Re: Zahlen aus Memo entfernen
 
Delphi-Quellcode:
for i:=0 to memo2.lines.count -1 do
  begin
     idx := Memo1.lines.indexof(memo2.lines.strings[i]);
     if idx <> -1 then
       Memo1.lines.delete[idx];
  end;
mit i: Byte und idx auch Byte

das sollte zum Ergebnis führen.

Grüße
Klaus

Jürgen Thomas 14. Jan 2007 17:31

Re: Zahlen aus Memo entfernen
 
Also, vielleicht solltest Du vor Hilfe und danach selbst nachdenken und in der Hilfe suchen. Wenn dort auf Delphi-Referenz durchsuchenMemo1.Lines hingewiesen wird, könntest Du auf den Gedanken kommen, nach anderen Prozeduren von Memo1.Lines - also TStrings - zu suchen und Folgendes finden:
Delphi-Quellcode:
Zeile:=memo1.lines.indexof('deineGesuchteZahl');
memo1.lines.delete(Zeile);
Jürgen

PS. Klaus' Vorschlag ergänzt das, aber wie gesagt: Du solltest auch selbst etwas dazu beitragen,

Nils_13 14. Jan 2007 17:32

Re: Zahlen aus Memo entfernen
 
Delphi-Quellcode:
var i, j : Integer;
begin
  // m1 = Memo1 ; m2 = Memo2
  for i := 0 to m1.Lines.Count - 1 do
  begin
    for j := 0 to m2.Lines.Count - 1 do
    begin
      if (m1.Lines[i] = m2.Lines[j]) then
        m1.Lines.Delete(m1.Lines.IndexOf(m2.Lines[j]));
    end;
  end;
Arghs, zu spät....

DenSchub 14. Jan 2007 17:46

Re: Zahlen aus Memo entfernen
 
Delphi-Quellcode:
  for i:=0 to memo2.lines.count -1 do
  begin
     index := Memo1.lines.indexof(memo2.lines.strings[i]);
     if index <> -1 then
       Memo1.lines.delete(index);
  end;
So gehts!

Danke!

Du hast was gut bei mir! :kiss: :kiss: :kiss: :kiss: :kiss: :kiss:
:thumb:

Jügen: Normalerweise denke ich ja, aber hab grad die zeit dazu nicht!


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:25 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