Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TabControl aktualisieren (https://www.delphipraxis.net/72351-tabcontrol-aktualisieren.html)

mkinzler 29. Jun 2006 20:45

Re: TabControl aktualisieren
 
Versuchs mal mit
Delphi-Quellcode:
while (not gefunden) and (i < TabControl1.Tabs.Count -1) do

norbert3 29. Jun 2006 20:59

Re: TabControl aktualisieren
 
hey, wir nähern uns dem Ziel.

Der erste Fehler ist behoben, aber ein neuer ist erschienen.
Delphi-Quellcode:
TabControl1.Tabs[i].Text
Der Cursor bleibt hinter dem i stehen.
[Fehler] kontakt.pas(382): Record, Objekt oder Klassentyp erforderlich.

Mfg Norbert

mkinzler 29. Jun 2006 21:03

Re: TabControl aktualisieren
 
Delphi-Quellcode:
TabControl1.Tabs[i];

Hawkeye219 29. Jun 2006 21:17

Re: TabControl aktualisieren
 
Hallo,

wird das nicht eine Endlosschleife, falls nicht gerade das erste Element das richtig ist? Im ELSE-Zweig sollte die Variable i erhöht werden.

Vielleicht geht es aber auch einfacher: Tabs ist doch eine Stringliste, und die hat eine Methode IndexOf...

Gruß Hawkeye

norbert3 29. Jun 2006 21:35

Re: TabControl aktualisieren
 
Hey,
mit TabControl1[i] hab ich es probiert und muss Hawkeye219 recht geben. Der Rechner stürtzt beim Ausführen ab.

norbert

mkinzler 29. Jun 2006 21:42

Re: TabControl aktualisieren
 
habe in der Schnelle das
Delphi-Quellcode:
inc(i);
vergessen. Aber das direkte Finden den Strings in der StringListe mittels .IndexOf ist natürlich besser als die Schleife.

norbert3 29. Jun 2006 21:53

Re: TabControl aktualisieren
 
wo kommt die function hin?
Delphi-Quellcode:
inc(i)
norbert

mkinzler 29. Jun 2006 21:57

Re: TabControl aktualisieren
 
Delphi-Quellcode:
i := 0;
gefunden := false;
while (not gefunden) and (i < TabControl1.Tabs.Count -1) do
begin
    if TabControl1.Tabs[i].Text = DataModule1.ABStblName.FiledByName('Anzeige').value then gefunden := True;
    inc(i);
end;
If gefunden then TabControl1.TabIndex := i;

norbert3 29. Jun 2006 22:13

Re: TabControl aktualisieren
 
Ich habe es nun mal so übernommen:
Delphi-Quellcode:
begin
     suche := Edit1.Text;
     dataModule1.ABStblName.Locate('Anzeige',suche,[lopartialKey]+[loCaseInsensitive]);
     i := 0;
     gefunden := false;
   while (not gefunden) and (i < TabControl1.Tabs.Count -1) do
    begin
       if TabControl1.Tabs[i] = DataModule1.ABStblName.FieldByName('Anzeige').value then gefunden := True;
       inc(i);
    end;
           If gefunden then TabControl1.TabIndex := i;
      end;
es wird allerdings vom gesuchten Namen der folgende Tab angezeigt.

Norbert

mkinzler 30. Jun 2006 05:30

Re: TabControl aktualisieren
 
Delphi-Quellcode:
if TabControl1.Tabs[i] = DataModule1.ABStblName.FieldByName('Anzeige').value then gefunden := True else inc(i);


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:05 Uhr.
Seite 2 von 3     12 3      

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