Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Integer aus Strings zusammensetzen?! (https://www.delphipraxis.net/1189-integer-aus-strings-zusammensetzen.html)

Daniel B 29. Okt 2002 20:25


Integer aus Strings zusammensetzen?!
 
Hallo,

da bin ich wieder. :wink:

Code:
function TMainFormMC2004.LVFuellen(s: string): Boolean;
//Die mit dem Parameter übergebene ListView Updaten
//Sprich, die Daten der Records in der jeweiligen ListView anzeigen
var
  i: integer;
  t: string;
begin
  t := 'ListViewKK' + s;
  result := False;
  for i := 0 to t.Items.Count -1 do //das t.Items.Count nur so als Vorstellung;
  begin
    //
  end;
end;
So ungefähr sollte! es gehen. Tut es aber nicht.
Für s bekommt die Fkt. Lok, Fkt, Wei oder Mtr.
t solte also ListViewKKLok oder ListViewKKFkt, oder, oder... heissen. Damit ich damit in der Schleife mti t.Count arbeiten kann. Das geht so aber nicht.
Kann mna so etwas umgehen? Wenn nicht dann übergebe ich halt den String als ganzes und das Problem wäre gelöst. Wollte mir nur etwas schreibarbeit sparen.

Grüsse, Daniel :hi:

DrDangerous 29. Okt 2002 20:56

Hallo Daniel,

Du hast es ja nun schon geschafft, den Namen der gesuchten Komponente komplett in einem String zu halten. Das ist doch schon fast die halbe Miete:

Mit der Methode "FindComponent()" kannst Du Komponenten über ihren Namen ansprechen. Dann noch ein kleiner Typecast und fertig ist die Laube:
Code:
[b]With[/b] TListView( FindComponent(t) ) [b]Do[/b]
[b]Begin[/b]
  ...  [color=#000080]// Hier Deinen Code einfuegen[/color]
[b]End;[/b]
Diesen Code ergänzt Du nach Belieben mit Fehlerprüfungen und hast im handumdrehen dieses Problem gelöst.

:firejump:

Greeeeeeeeeeeeetz,
DrDangerous

Daniel B 29. Okt 2002 21:04

Hallo DrDangerous,

hmm, irgendwie kann ich Dir nicht folgen.
Die Schleife muss so lauten:

Code:
for i := 0 to ListViewKKLok.Items.Count -1 do
  begin
    // 
  end;
end;
Dieses Lok oder welches auf immer übergebe ich selbst.
Ich schreibe also irgendwo LVFuellen('Lok');
Dann macht die Funktion was und gibt mir ein Boolean aus. Die for Schleife brauche ich, weil ich die Items aus der jeweiligen LV durchgehen muss.

Grüsse, Daniel :hi:

DrDangerous 29. Okt 2002 21:10

Hallo Daniel,

wie folgt sollte es klappen:

Code:
[b]procedure[/b] LVFuellen(s : [b]String[/b]);
[b]var[/b] t : [b]String[/b];
    i : Integer;
[b]begin[/b]
  t:= 'ListView' + s; [color=#000080]// in t steht jetzt der vollstaendige Name des Listview[/color]
  [b]With[/b] TListView( FindComponent(t) ) [b]Do[/b]
    [b]For[/b] i := 0 [b]to[/b] Items.Count-1 [b]do[/b]
    [b]Begin[/b]
      ...  [color=#000080]//[/color]
    [b]End;[/b]
[b]End;[/b]
:firejump:

Greeeeeeeeetz,
DrDangerous

Daniel B 29. Okt 2002 21:14

Zitat:

Zitat von DrDangerous
Code:
[b]For[/b] i := 0 [b]to[/b] Items.Count-1 [b]

Das hatte ich nicht verstanden. So gehts, ja

Danke Dir. :hello:

Grüsse, Daniel :hi:


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