AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Ergebnisse einer For-Schleife in einer Liste darstellen.
Thema durchsuchen
Ansicht
Themen-Optionen

Ergebnisse einer For-Schleife in einer Liste darstellen.

Ein Thema von Tod787 · begonnen am 30. Mai 2008 · letzter Beitrag vom 30. Mai 2008
Antwort Antwort
Seite 1 von 2  1 2      
Tod787

Registriert seit: 19. Mai 2008
99 Beiträge
 
#1

Ergebnisse einer For-Schleife in einer Liste darstellen.

  Alt 30. Mai 2008, 09:11
Moin,

habe folgendes Problemchen:

möchte gerne in einer For-Schleife entstehenden Ergebnisse in einer Liste ausgeben.
Der jetzige Code gibt nur den letzten der Werte im Panel aus. Ich hätte aber gerne eine Liste mit alles Werten.

Delphi-Quellcode:
begin
  WMI:=CreateOleObject('WbemScripting.SWbemLocator');
  wmiService := wmi.ConnectServer('.', 'root\wmi');
  nicstatus := wmiService.InstancesOf('MSNdis_MediaConnectStatus');
  p := nicstatus._NewEnum;
  p.QueryInterface(IEnumVariant, Enum);
  hilf := 0;
  i := nicstatus.Count;
  for cnt := 0 to i - 1 do
   begin
     Enum.Next(1, card, F);
     connected := card.NdisMediaConnectStatus;
     if (connected = 0) then
        begin
          Status := 'verbunden';
        end
     else
        begin
          Status := 'nicht verbunden';
        end;
     Panel1.Caption := card.InstanceName + ' : ' + status;
  end;

 end;
[edit=SirThornberry]"diein" durch "in" ersetzt - Mfg, SirThornberry[/edit]
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Ergebnisse einer For-Schleife in einer Liste darstellen.

  Alt 30. Mai 2008, 09:21
Panel1.Caption := Panel1.Caption + '; ' + card.InstanceName + ' : ' + status;
Markus Kinzler
  Mit Zitat antworten Zitat
Linkat

Registriert seit: 3. Dez 2004
Ort: nr Stuttgart
62 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Ergebnisse einer For-Schleife in einer Liste darstellen.

  Alt 30. Mai 2008, 09:22
Hallo Tod787,

wenn ich dein Problemchen richtig verstehen, musst du den String den du in Panel1.Caption übergibst, einfach nacheinander in eine Listbox schreiben (z. B. ListBox1.Items.Add( 'hier steht der String')).

Ich hoffe, das war dein Problem.

Gruß, Linkat
  Mit Zitat antworten Zitat
Tod787

Registriert seit: 19. Mai 2008
99 Beiträge
 
#4

Re: Ergebnisse einer For-Schleife in einer Liste darstellen.

  Alt 30. Mai 2008, 10:49
Hallo mkinzler und Linkat

Vielen Dank! Es funktioniert beides wobei die Listenausgabe von Linkat etwas übersichtlicher ausschaut. Mein Problem ist jetzt nur noch, dass ich das ganze in einem Timer aufrufe und somit die gleichen Strings immer und wieder eingefügt werden. Wie schaffe ich es dass die Ausgabe nur 1x stattfindet?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#5

Re: Ergebnisse einer For-Schleife in einer Liste darstellen.

  Alt 30. Mai 2008, 10:51
Du willst die Liste aktualisieren, oder? Sonst macht der Timer irgendwie keinen Sinn.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Tod787

Registriert seit: 19. Mai 2008
99 Beiträge
 
#6

Re: Ergebnisse einer For-Schleife in einer Liste darstellen.

  Alt 30. Mai 2008, 10:59
Ja genau das möchte ich machen. Läuft auch schon, nur soll die Ausgabe nur einmal dastehen und im Intervall aktualisiert werden.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#7

Re: Ergebnisse einer For-Schleife in einer Liste darstellen.

  Alt 30. Mai 2008, 11:01
Versuch es mal so (ungetestet):
Delphi-Quellcode:
procedure Wuppdi(const str: TStrings);
...
begin
  str.Items.BeginUpdate;
  try
    str.Clear;
    WMI:=CreateOleObject('WbemScripting.SWbemLocator');
    wmiService := wmi.ConnectServer('.', 'root\wmi');
    nicstatus := wmiService.InstancesOf('MSNdis_MediaConnectStatus');
    p := nicstatus._NewEnum;
    p.QueryInterface(IEnumVariant, Enum);
    hilf := 0;
    i := nicstatus.Count;
    for cnt := 0 to i - 1 do
      begin
        Enum.Next(1, card, F);
        connected := card.NdisMediaConnectStatus;
        if (connected = 0) then
           begin
             Status := 'verbunden';
           end
        else
           begin
             Status := 'nicht verbunden';
           end;
        str.Items.Add(card.InstanceName + ' : ' + status);
      end;
  finally
    str.Items.EndUpdate;
  end;
end;
Für str kannst Du dann z.B. Listbox.Items angeben.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Klaus01

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

Re: Ergebnisse einer For-Schleife in einer Liste darstellen.

  Alt 30. Mai 2008, 11:02
Dann würde ich die Daten zuerst in eine StringList füllen
und die Eigenschaft Duplicates auf dupIgnore einstellen.
Die StringList kannst Du anschliessen in die ListBox übertragen.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
ToFaceTeKilla

Registriert seit: 17. Mai 2006
Ort: Leipzig
283 Beiträge
 
Delphi XE2 Professional
 
#9

Re: Ergebnisse einer For-Schleife in einer Liste darstellen.

  Alt 30. Mai 2008, 11:04
Dann lösch die Liste am Anfang jedes Timer-Intervalls. Dann werden die Elemente in ihrer aktuellen Form wieder hinzugefügt.
Billy Gerwitz
"Bei der Softwareentwicklung suchen wir nicht den richtigen Weg, sondern den am wenigsten falschen." - frei nach V. Hillmann
  Mit Zitat antworten Zitat
Klaus01

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

Re: Ergebnisse einer For-Schleife in einer Liste darstellen.

  Alt 30. Mai 2008, 11:05
Zitat von ToFaceTeKilla:
Dann lösch die Liste am Anfang jedes Timer-Intervalls. Dann werden die Elemente in ihrer aktuellen Form wieder hinzugefügt.
.. das hat einen gewissen Charm.

Grüße
Klaus
Klaus
  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 02:43 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