Autor Beitrag
bruce185
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 283

winXP
D7 Ent
BeitragVerfasst: Mo 15.05.06 10:21 
hi,
also in Objectinspector bei TableName sieht man doch welche Tabellennamen im moment vorhanden sind, hier mal ein Screen:

user defined image

also da sieht man 3 Tabellenamen, wie kann ich das in ComboBox1 anzeigen lassen?
man könnte des doch irgendwie mit der For schleife machen, aber wie?

Vielen Dank Schonmal 8)

Gruss Andreas
bruce185 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 283

winXP
D7 Ent
BeitragVerfasst: Mo 15.05.06 20:45 
habt ihr keine ahnung wie man das macht?
ich habe es mal so ausprobiert:

ausblenden Delphi-Quelltext
1:
ComboBox1.Items.Add(Form1.Table1.TableName);					


aber da kommen nur lauter fehlermeldungen :cry:
das muss man doch irgendwie machen können, oder?
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Mo 15.05.06 21:04 
kannst du nicht alle *.DB Dateien in deinem Ordner suchen und in die ComboBox schreiben? oder über den Pfad in deiner BDE die Dateien in dem angegebenen Ordner suchen?

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
bruce185 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 283

winXP
D7 Ent
BeitragVerfasst: Mo 15.05.06 21:10 
ich danke dir,
klar könnte ich das machen, aber mit welchem befehl suche ich alle DB Dateien und das es in ComboBox rein schreibt?
raiguen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 374

WIN 2000prof, WIN XP prof
D7EP, MSSQL, ABSDB
BeitragVerfasst: Mo 15.05.06 21:35 
Moin :-)
Hiermit kannst Du das Database-Verzeichnis, in dem die *.db-Tabellen liegen, auslesen und direkt in die Combox eintragen lassen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
Procedure TabellenNamenAuslesen(sDatabasePfad: String);
Var
  FindRec: TSearchRec;
Begin
  //-- abschließenden Backslash anhängen (ab Delphi 4 und höher!) 
  sDatabasePfad := IncludeTrailingBackSlash(sDatabasePfad); 
  //--Dateien im Pfad mit der 'Maske' suchen
  If FindFirst (sDatabasePfad + '*.db', faAnyFile, FindRec) = 0 Then
    Repeat
      If (FindRec.Name <> '.'and (FindRec.Name <> '..'Then
      ComboBox1.Items.Add(FindRec.Name);
    Until FindNext (FindRec) <> 0;
  FindClose (FindRec);   
end;
bruce185 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 283

winXP
D7 Ent
BeitragVerfasst: Mo 15.05.06 22:27 
ich danke dir für deine Hilfe, aber wenn ich es dann ausführe, erhalte ich Fehlermaldungen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
[Warnung] Unit2.pas(107): Symbol 'IncludeTrailingBackslash' ist plattformspezifisch
[Fehler] Unit2.pas(112): Undefinierter Bezeichner: 'ComboBox1'
[Fehler] Unit2.pas(112): Operator oder Semikolon fehlt
[Fataler Fehler] Project1.dpr(6): Verwendete Unit 'Unit2.pas' kann nicht compiliert werden


ich habe die Prozedure am Ende der Quelltext geschrieben, aber es geht net, da steht ja auch Undefinierter Bezeichner: 'ComboBox1' obwohl die ComboBox1 existiert, kannst du mir vieleicht helfen wo der fehler liegen kann?

Danke dir schonmal :?
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: Mo 15.05.06 22:37 
Nimm eine TADOConnection, verbinde sie mit deinem DB-Provider (Hier wohl eine ODBC-Verbindung zu Paradox) und rufe die 'GetTableNames' Methode auf.
ausblenden Delphi-Quelltext
1:
MyADOConnection.GetTableNames (MyComboBox.Items);					

Geht bestimmt auch mit der ODBC-API oder der BDE-API, aber die hab ich nicht greifbar. Falls du keine ADO-Komponenten hast, kannst Du dir auch einfach eine ADOConnection per COM erzeugen.

_________________
Na denn, dann. Bis dann, denn.
bruce185 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 283

winXP
D7 Ent
BeitragVerfasst: Mo 15.05.06 22:39 
cool ich habs hinbekommen mit deinem Code raiguen, vielen dank :D

Noch eine Frage, wie kann ich den DateiFormat .DB ausblenden dass nur der Name drin steht, irgendwie mit ExtractFile......, oder?
raiguen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 374

WIN 2000prof, WIN XP prof
D7EP, MSSQL, ABSDB
BeitragVerfasst: Di 16.05.06 09:37 
Moin :-)
Zum Anzeigen des Dateinamens ohne Endung die Function ChangeFileExt() benutzen und als 2.Parameter einfach einen Leerstring übergeben. Die Codezeile 11 in meinem BeispielCode würde dann so aussehen
ausblenden Quelltext
 
11:
{ ... }
ComboList1.Items.Add(ChangeFileExt(FindRec.Name,''));
bruce185 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 283

winXP
D7 Ent
BeitragVerfasst: Di 16.05.06 11:53 
cool, vielen dank für deine Hilfe, genau so meine ich das :D

Gruss Andreas