![]() |
FTP Zugangsdaten aus einer Datei holen
Könnt ihr mir da bitte behilflich sein?
Also da ich nicht ein super programmierer bin, arbeite ich schon ca 2 Moante an einem FTP-Tool. :drunken: Also und wenn man die exe startet, darf man nicht die Adresse sehen, also habe ich dieses Feld einfach versteckt (Sicherheitsgründe). Nun wollte ich wissen wie man das macht: Auf Button klicken -> Dursuchen der Dateien -> howtoserv.vi -> öffnen. Und in dieser verschlüsselten Datei "howtoserv.vi" (ist einfach ein Ordner auf einem FTP, der Dateien für dieses Thema enthält), befindent sich die Zugangsdaten zum jeweiligen Ordner! Ich stell mir das so vor: howtoserv.vi => SERVER=IP DIR=/vincik/howtos/servertut/ howtoecho.vi => SERVER=IP DIR=/vincik/howtos/php/echo/ ... also ich hoffe das was ich erreichen möchte habe ich sogut wie möglich erklärt, sonst bitte nochmals nachfragen. :zwinker: Viele Grüsse Vinc |
Re: FTP Zugangsdaten aus einer Datei holen
geht es dir ums laden/speichern von dateien?
![]() oder ums verschlüsseln? [dp]verschlüsseln[/dp] weil im "mittelteil" habbich son bisserl den anschluss verloren :gruebel: also dein ButtonKlick > .... ginge in etwa so:
Delphi-Quellcode:
siehe auch Delphi-OH:
var t:TStringList;
sr: TSearchRec; begin t:=TStringList.Create; if FindFirst('vincik/howtos/servertut/',faAnyFile,sr)=0 then t.LoadFromFile(sr.Name); FindClose(sr); //Hier Daten aus t rausholen mittels t[0]... t.Free; end; ~ FindFirst / FindNext ~ TStringList |
Re: FTP Zugangsdaten aus einer Datei holen
Also eigentlich um Beides, wenn das auf Anhieb nicht zuschwer wird aufeinmal zu erklären.
Also mit einem wieteren Tool werde ich die Variblen ja ausfüllen und per verschlüsslung (nicht passwort sondern zeichen) als howto.vi abspeichern. In meinem grossen Programm sollten nun die erstellt 'per Durchsuchen nach...' auswählbar sein um die definierten Variblen zum Ordern wo sich die Daten befinden, verbinden. Ich möchte jetzt einfach wissen wie ich eine Datei individuell einfüge (include). Denn ich habe das mit der INI-Funktion ausprobiert hat auch so geklappt wie gewünscht, nur meine letzten Probleme sind einfach noch folgende: - Variablen in Textdatei dürfen nicht sichtbar sein -> also verschlüsselt und 2. - Per Durchsuchen (Button) kann man die gewünschte Datei (howto.vi) öffnen um zu diesem Ordner zu verbinden. (Ich hoffe diesmal war es schon verständlicher) :) |
Re: FTP Zugangsdaten aus einer Datei holen
also
beim verschlüsseln kann ich dir net weiterhelfen... dp-suche, oder mal Hagen (bzw negaH) fragen...der sollte davon ahnung haben inner codelib sind bestimmt auch functions die das machen so, das suchen/mit ordner verbinden das wäre dann im buttonClick folgendes wenn ich das richtig verstanden hab: Datei finden mit Namen "xy.z" Datei öffnen Dateiinhalt entschlüsseln Mit Daten aus Datei zu Server verbinden nun guckst du oben ;) um eine Datei zu finden nimmst du FindFirst... dazu brauchst du ein SearchRec... wenn die datei gefunden wurde gibt Findfirst 0 zurück, am ende das SearchRec wieder mit FindClose "schliessen" daraus ergibt sich folgender Code:
Delphi-Quellcode:
die datei laden...einfachste methode wäre mittels einer TStringList
var sr: TSearchRec;
begin if FindFirst('vincik/howtos/servertut/*/howto.vi',faAnyFile,sr)=0 then Laden; FindClose(sr); dazu folgender Code:
Delphi-Quellcode:
zusammen ergibt das dann iun etwa das:
var temp:TStringList;
begin temp:=TStringList.Create; temp.LoadFromFile('vincik/howtos/servertut'); Name:=temp[0];//zugriff auf 1. Zeile Passwd:=Decode(temp[1]);//zugriff auf 2. zeile...decode=entschlüssel -> Hagen temp.Free; end;
Delphi-Quellcode:
EDIT:
var t:TStringList;
sr: TSearchRec; begin t:=TStringList.Create; if FindFirst('vincik/howtos/servertut/*/howto.vi',faAnyFile,sr)=0 then t.LoadFromFile(sr.Name); FindClose(sr); //Hier Daten aus t rausholen mittels t[0]... t.Free; end; das mit dem suchen war falsch, man kann da kein \*\ einbauen.... das sollte in etwa so gehen:
Delphi-Quellcode:
FindAllFiles(Files,Ordner,'*.vi');
for i:=0 to Files.Count-1 do if ExtractFileName(Files[i])='howtoserv.vi' then break; Dateiname=Files[i]; |
Re: FTP Zugangsdaten aus einer Datei holen
Ich glabue mal so das ich das mit den Verzeichnissen ganz ausseinander bringe.
Also verbinden das funktioniert alles schon ganz gewünscht. Ich habe die Daten so in meiner Datei: howto1.vc => SERVER=123.123.123.123 DIR=/vincik/howtos/howto1/ !! Wenn sich diese Datei mit diesem Inhalt im gleichen Verzeichnis wie downloadmanager.exe befindet, dann kann ich auf meinen button verbinden drücken und ich bin somit zum verzeichnis /vincik/howtos/howto1/ verbunden. Ich habe also auch probiert es in dieser .vc Datei zu ändern danach wieder verbinden und er hat sich zum neu angegeben Ordner verbunden. --- Das wär ja schon gut gelöst, nur wenn ich mehrer howtos habe, dann kommt eben das problem auf das nicht jede datei, howto1.vc heissen kann, oder? Darum wäre es wohl am besten, wenn man das Programm offen hat, dann gleich auf den Durchsuchen Button klicken kann -> die gewünschte Datei auswählen (bsp. servertut.vc) dann sollte die Datei sozusagen mit dem Programm verbunden sein. Wenn man jetzt auf Verbinden klick, verbindet es zu den Daten, die eben jetzt in diesem Beispiel von der servertut.vc, welche angegeben worden sind.
Delphi-Quellcode:
Ich habe mir das einfach so vorgenstellt das man mittels der Durchsuchen Funktion die gewünshte Datei öffnet und das diese Datei dann gerade eine Variable sein könnte:
procedure TMainForm.SaveFTPHostInfo(Datatext, header: String);
var ServerIni: TIniFile; begin ServerIni := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'howto1.vc'); ServerIni.WriteString('Server', header, Datatext); ServerIni.UpdateFile; ServerIni.Free; end; function TMainForm.GetHostInfo(header: String): String; var ServerName: String; ServerIni: TIniFile; begin ServerIni := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'howto1.vc'); ServerName := ServerIni.ReadString('Server', header, header); ServerIni.Free; result := ServerName; end;
Delphi-Quellcode:
procedure TMainForm.SaveFTPHostInfo(Datatext, header: String);
var ServerIni: TIniFile; begin ServerIni := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'variable für die datei'); ServerIni.WriteString('Server', header, Datatext); ServerIni.UpdateFile; ServerIni.Free; end; Vielen Dank, Vinc |
Re: FTP Zugangsdaten aus einer Datei holen
achso...du hast mehrere dateien für versciedene Server...
das könntest du so machen dass du die dateien nach den servern benennst... Speichern
Delphi-Quellcode:
Laden
begin
ServerName:=EditServer.Text; Speichern('howto'+ServerName+'.vi'); end;
Delphi-Quellcode:
so dass die keine nummern haben 1, 2, 3.... sondern eben den servernamen
begin
ServerName:=EditServer.Text; Laden('howto'+ServerName+'.vi'); end; |
Re: FTP Zugangsdaten aus einer Datei holen
also wenn cih dich richtig verstanden habe,
dann sollen einfach alle *.vci dateien in einer liste ersichtlich sein (listbox od. dgl.)
Delphi-Quellcode:
dann schreibt er dir alle suchergebnisse in die Listbox
if FindFirst('vincik/howtos/servertut/*/*.vi',faAnyFile,sr)=0
then listbox1.items.add(sr.Name); while findnext(sr)=0 do listbox1.items.add(sr.name) else findclose(sr); man könnte auch hergehen und jede gefundene datei öffnen und die description aus dem inifile (Servername od. dgl) in die listbox eintragen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:01 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