![]() |
Re: Hilfe- Wie lese ich eine komplexe DB Datei zum editieren
Hm. Sollte das nicht der Registrierungsexperte erledigen?
|
Re: Hilfe- Wie lese ich eine komplexe DB Datei zum editieren
Zitat:
|
Re: Hilfe- Wie lese ich eine komplexe DB Datei zum editieren
Der Registierungagent der auf der D6 CD dabei ist scheint nicht mehr sehr compatibel zusein
Die Seiten die er öffnen will existieren garnicht mehr. Und diese ver***** Updates gibt es nur exklusiv über Codegear - Zumindest finde ich keine andere Seite, D6 die die Updates hostet. habe zwar die Seriennummer und den Autorisierungsschlüßel nur was nutzt der mir. |
Re: Hilfe- Wie lese ich eine komplexe DB Datei zum editieren
Google Suche findet einen FTP der aber ausgerechnet die Version 6 nicht hat
|
Re: Hilfe- Wie lese ich eine komplexe DB Datei zum editieren
So
habe soeben einen Server in Taiwan gefunden der das Update 2 drauf hatte. Denn auf dieser seite steht der genaue Dateiname der Delphi-Updates und google übernahm dann den Rest ![]() Installation verlief ohne Probs und JVCL ist nun auch drauf. Dann will ichs mal jetzt versuchen, also Zitat:
|
Re: Hilfe- Wie lese ich eine komplexe DB Datei zum editieren
Sorry aber TJvCSVDataSet finde ich nicht
ist da was schiefgelaufen? habe nun Leisten JV Scrollbar, Jv Edits ,... und wo drunter soll nun das TJvCSV sein? |
Re: Hilfe- Wie lese ich eine komplexe DB Datei zum editieren
Delphi-Quellcode:
Habe nun etwas gefunden aber kein TJvCSVDataSetJvCSVBase1: TJvCSVBase; JvCSVEdit1: TJvCSVEdit; JvCSVComboBox1: TJvCSVComboBox; JvCSVCheckBox1: TJvCSVCheckBox; JvCSVNavigator1: TJvCSVNavigator; |
Re: Hilfe- Wie lese ich eine komplexe DB Datei zum editieren
Also, ich versteh nicht, wieso man das mit einer CSV-Komponente machen soll.
Das vorliegende Format ist das einer 'INI'-Datei. Man kann eine entsprechnde Komponente verwenden (TIniFile, TMemIniFile), wenn man Zugriff auf die einzelnen Segmente '[blabla]' haben möchte. Wenn nicht, reicht auch eine Stringlist. Für die Trennung der per ';' getrennten Daten würde ich auf die Eigenschaften 'DelimiterChar' und DelimitedText der TStringlist zurückgreifen. Einlesen der Datei geht so:
Delphi-Quellcode:
Suchen geht so:
Var
Datei : TStringlist; Begin Datei := TStringlist.Create; Datei.LoadFromFile('DeinDateiname'); ...
Delphi-Quellcode:
Und unterteilen der durch Semikolon getrennten Teile so:
Procedure SucheNamenBeginnendMit (Datei : TStringlist; NamensTeil : String);
Var i : Integer; Begin For i:=0 to Datei.Count - 1 do If Pos (NamensTeil, Datei[i])<>0 Then // Zeile gefunden End;
Delphi-Quellcode:
Da wird kein CSV benötigt.
Procedure ExtrahiereDaten (Datei : TStringList; aZeile : Integer; DatenEinerZeile : TStringlist);
Begin DatenEinerZeile.DelimiterChar := ';'; DatenEinerZeile.DelimitedText := Date.Values[aZeile] // Anschließend kann auf die Teile durch DatenEinerZeile[i] zugegriffen werden End; |
Re: Hilfe- Wie lese ich eine komplexe DB Datei zum editieren
Zitat:
Bin diesem Vorschlag mal gefolgt
Delphi-Quellcode:
Damit bekomme ich die Daten (hier nur eine Suchanfrage) grob auseinander sortiert anhand der z.B. ersten 6 Zeichen.
procedure TForm1.Button1Click(Sender: TObject);
Var Datei : TStringlist; mecount : integer; i : Integer; begin Datei := TStringlist.Create; memo1.WordWrap:=false; memo1.Lines.LoadFromFile('C:\test\text.ini'); mecount:=0; mecount:=(memo1.Lines.count); end; procedure TForm1.Button2Click(Sender: TObject); var ii : Integer; begin For ii:=0 to memo1.Lines.Count - 1 do begin If leftstr(memo1.Lines[ii],6)='INFO_S' then begin listbox1.Items.Add(memo1.Lines.Strings[ii]) end else end; end; Nur kann mir jedmand sagen wie genau ich nun die durch die ";" getrenten Daten im String finde und einzeln aus dem String herausbekommen. Die Daten in der listbox sehen so aus: Zitat:
"..." bis = Edit1 von = "..." bis ;#1 = Edit1 von ;#1 "..." bis ;#2 = Edit1 ... von ;#9 "..." bis ;#10 = Edit1 Wie / Womit müsste ich eine Abfrage Routine schreiben |
Re: Hilfe- Wie lese ich eine komplexe DB Datei zum editieren
Delphi-Quellcode:
[/edit]
Function Split (Var aString : String; Const aDelimiter : String) : String;
Var p : Cardinal; Begin p := pos (aDelimiter, aString); if p = 0 then begin Result := aString; aString :=''; End Else Begin Result := Copy (aString,1,p-1); aString := Copy (aString, p+Length (aDelimiter),Maxint) End End; // Aufruf s := 'Eins=Zwei'; x := Split (s,'='); // jetzt ist x='Eins' und s='Zwei' :oops: Parameterdeklaration ': String' bei 'Var aString ...' eingefügt. So KANN das ja gar nicht funktionieren.... [edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz