chrigu99
Hi zusammen
Hier mal ein "request" an euch delphi-programmierer...
ich selber finde mich noch absolut nicht in delphi zurecht, bin mich aber am anlernen...
Ich benötige ein upload-tool für bilder, auf der ersten seite des tools sollte man 3 optionen eingeben können (username, anlass und datum), daraus soll ein ordnername erstellt werden (username_anlass_anzahlbilder_datum). Die Bilder sollten aus dem lokalen Dateisystem ausgewählt werden können mit einem Haken "ganzer Ordner uploaden". und dann ja start und dann sollten die Bilder per FTP auf einen Server upgeloadet werden können...
Kann mir da jemand helfen? Wäre echt spitze...
Greez aus der Schweiz
Chris
BewaSoft
Ein komplettes Proggi gibts hier nicht, aber wo du am Lernen bist gibt es ein wenig Code.
Mit Dateinamen und so habe ich jetzt nicht gerade die Ahnung, aber mit FTP könnte ich weiterhelfen (mal schaun, was im Delphi-Kochbuch steht):
Man benötigt eine FTP-Komponente, zumindest bei Delphi3 ist so eine mit dabei.
FTP-Verbindung herstellen (zumindest ein Versuch)
| code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
|
with NMFTP1 do begin
Host := Edit1.Text;
Port:= 21;
TimeOut:= 10000;
UserID:= Edit2.text;
Password:= Edit3.Text;
Connect
end
|
|
Der Standard-Port hierbei ist 21 und das Timeout 10 Sekunden.
Sollte Benutzerkennung oder Passwort falsch sein, so tritt OnAuthentificationFAiled auf:
| code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
|
procedure TForm1.NMFTP1AuthenticationFailed(var Handled: Boolean);
var btn: Integer;
begin
Edit2.Text:=NMFTP1.UserID;
Edit3.Text:=NMFTP1.Password;
btn:=Application.MessageBox('Nochmal?','Anmeldung fehlgeschlagen!',36);
if btn=6 then handled:=True //"Ja" gedrückt
end;
|
|
Das Trennen:
NMFTP1.Disconnect
Die Verzeichnisse lasse ich erstmal nicht auflisten.
Hier das hochladen, dafür wäre ein Dialog angebracht:
| code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
|
procedure TForm1.Button_UploadClick(Sender:TObject);
var fName: String;
begin
if OpenDialog1.Execute then begin //Hier ist der OpenDialog
fName:=OpenDialog1.FileName;
NMFTP1.Mode(MODE_IMAGE); //binärer Übertragungsmodus
NMFTP1.Upload(fName, ''); //Jetzt wird hochgeladen
end
end;
|
|
Die Anzeige der an den FTP-Server gesendeten Bytes:
| code: |
1:
2:
3:
4:
5:
6:
|
procedure TForm1.NMFTP1PacketSent(Sender:TObject);
begin
StatusBar1.SimpleText:=IntToStr(NMFTP1.BytesSent)+ 'Bytes von' + IntToStr(NMFTP1.BytesTotal)
end;
|
|
Die Erfolgsmeldung:
| code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
|
procedure TFORM1.NMFTP1Succes(Trans_Type:TCmdType);
begin
Case Trans_Type of
cmdUpLoad:
StatusBa1.SimpleText:='Upload von' + OpenDialog1.Filenmane+'erledigt.';
end
end;
|
|
Im Buch wurde das FTP-Objekt von NetManage behandelt, darum immer NMFTP.
Wie man Strings verbindet weisst du hoffentlich (string+string)
chrigu99
also erst mal: DANKE SCHÖN
jetzt aber mal eine noch ganz grundlegende frage, die ich noch nicht lösen konnte (ja ich weiss ich sollte mir literatur zulegen): wie kann ich im prog eine seite weiter gehen? praktisch wie in html ein form absenden und eine seite weiter... aber ohne ein neues fenster zu öffnen? und dabei noch variablen aus eingabefeldern übergeben?
danke für jegliche bemühungen
grüsse aus der schweiz
chris
perle
entweder du setzt eine Tab- oder PageControl auf die Form (auf dem Win32 Register oben), dann kannst du zur nächsten Seite kommen , wie du auch bei den Komponentenseiten auswählst. Oder du arbeitest mit Frames. Dazu gehst du auf Datei --> Neu --> Frame
Es öffnet sich soetwas wie eine neue Form. Die kannst du dann gestalten wie du lustig bist....zum einbinden ziehst du dann die Frame Komponente (bei Standard) auf die Form und kannst dir das entsprechende Frame raussuchen.... Durch gezieltes setzen der Visible eigenschaft der einzelnen Frames gehst du so deine Seite weiter.
chrigu99
danke schonmal an euch alle ich werds bei gelegenheit ausprobieren...
grüsse
chris