AGB  ·  Datenschutz  ·  Impressum  







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

nochmal StringGrid, Listbox, Memo

Offene Frage von "RX3"
Ein Thema von RX3 · begonnen am 30. Jun 2005 · letzter Beitrag vom 30. Jun 2005
Antwort Antwort
RX3

Registriert seit: 2. Jun 2004
42 Beiträge
 
#1

nochmal StringGrid, Listbox, Memo

  Alt 30. Jun 2005, 16:12
sorry, aber ich muss das Teil nochmal ändern...

Der Code soll folgendes machen:
die ListboxEinträge mit den Zellen aus dem StringGrid vergleichen, bei Übereinstimmung sollen alle ZEILEN des StringGrids ins Memo geschrieben werden, allerdings NUR die Einträge aus der ausgewählten Spalte

hier ist der Quellcode aus dem ButtonKlick-Ereignis
Delphi-Quellcode:
procedure TArtikel_Form.Btn_ListKonvertierenClick(Sender: TObject);
var i:Integer;
begin
.
.
.

    for i := 0 to ListBox1.Items.Count - 1 do //für jeden Listboxeintrag
    begin
      for x := 1 to StringGrid1.RowCount - 1 do //für jede Spalte
      begin
        if ListBox1.Items[i] = StringGrid1.Cells[x,1] then
        begin
          vZeile := '';
          //y=0 : erste(leere Spalte)
          //y=1 : zweite(erste gefüllte Spalte)
          for y := 0 to StringGrid1.ColCount - 1 do
          begin
            for x := 1 to StringGrid1.Row -1 do
            begin
              vZeile := vZeile + StringGrid1.Cells[y,x] + vTrennzAus;
             memo1.Lines.Add('INVITEM' + vZeile);
           end;
          end;
        end;
      end;
    end;
    Listbox1.Clear;
  end;
end;
Bild Unbenannt1 zeigt die wie es momentan aussieht.
Bild Unbenannt2 zeigt wie es aussehen soll !
Miniaturansicht angehängter Grafiken
unbenannt1_173.jpg   unbenannt2_213.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von Schuster
Schuster

Registriert seit: 21. Okt 2004
Ort: Wien
176 Beiträge
 
Delphi XE7 Architect
 
#2

Re: nochmal StringGrid, Listbox, Memo

  Alt 30. Jun 2005, 18:02
Wo der Fehler liegt kann ich dir zwar nicht sagen aber debbuge mal zeile für zeile.
Und schau dir immer den Wert von VZeile an.

Dann solltest du draufkommen wo der Hacken ist.
Markus Schuster
__________________
Markus
http://members.chello.at/delphi-developer
  Mit Zitat antworten Zitat
RX3

Registriert seit: 2. Jun 2004
42 Beiträge
 
#3

Re: nochmal StringGrid, Listbox, Memo

  Alt 30. Jun 2005, 18:56
schon ok ich habs jetz endlich !

Danke an Alle die helfen wollten/konnten!
  Mit Zitat antworten Zitat
RX3

Registriert seit: 2. Jun 2004
42 Beiträge
 
#4

Re: nochmal StringGrid, Listbox, Memo

  Alt 30. Jun 2005, 19:09
falls es jmd interessiert:

Delphi-Quellcode:
    
  for i:=1 to StringGrid1.RowCount - 1 do // Alle Zeilen durchlaufen
    begin
      vZeile:='';
      for j:=1 to StringGrid1.ColCount do // Alle Spalten durchlaufen
      begin
        gefunden:=false;
        for k:=0 to ListBox1.Items.Count-1 do // Alle ListboxEinträge durchlaufen
        begin
          //### Listboxeintrag mit Spaltenüberschirft vergleichen ###
          if StringGrid1.Cells[j,1]=ListBox1.Items.Strings[k] then
            gefunden:=true;
.
.
.
        end; // end Listboxeinträge

        //### wenn Übereinstimmung Listboxeintrag = Zelleninhalt dann Zeile festlegen ###
        if gefunden = true then
          vZeile := vZeile + vTrennzAus + StringGrid1.Cells[j,i];
      end; // End ColCount
      Memo1.Lines.Add(vZeile); //festgelegte Zeilen ins Memo schreiben
    end; // End RowCount
    Listbox1.Clear; //Listeneinträge löschen nach Konvertierung
  end;
end;
danke nochmal an alle!
  Mit Zitat antworten Zitat
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#5

Re: nochmal StringGrid, Listbox, Memo

  Alt 30. Jun 2005, 20:00
Hallo,

darf es auch etwas kürzer sein
Delphi-Quellcode:
  
  vTrennzAus := ';';
  s := '';
  with StringGrid1 do
    for i:=1 to RowCount - 1 do // Alle Zeilen durchlaufen
      begin
      for j:=1 to ColCount -1 do // Alle Spalten durchlaufen
        if ListBox1.Items.IndexOf(Cells[j,1]) <> -1 then
          s := s + vTrennzAus + Cells[j,i];
      s := s+#13#10;//Zeilenumbruch hinzufügen
      end;
  Memo1.Text := s;//Ergebnis ins Memo
Außerdem ließt Du in deinem
for j:=1 to StringGrid1.ColCount do//<--- über den Bereich deiner StringGrid hinnaus, dort fehlt -1
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  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 19:20 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