Programowanie w języku Delphi

Prosty uploader plikow

  • 2008-11-16 10:11
  • 2 komentarze
  • 385 odsłon
  • Oceń ten tekst jako pierwszy

Podstawa


Na formę wstawiamy:
 2 x Button
 1 x Opendialog
 5 x Edit
 5 x Label
 1 x Memo
 1 X IdFtp

      Button 1 nazywamy Przegladaj , a button 2 Wyslij
      Pierwszy edit nazywamy Opis , drugi Autor , trzeci Tytul ,czwarty Ścieżka i piąty Link .
      Pierwszy Label będzie miał napis ( Caption ) Tytuł pliku , drugi Autor pliku , trzeci Opis pliku , czwarty Ścieżka do pliku i piąty Link do strony pliku .
     IdFtp nazywamy Id.
     Memo nazywamy System a opendialog  pozostawiamy bez zmian.
 Powinno to wyglądać tak :
<center>d595d5e2bd59b26a.png</center>

Właściwości


Dla Systemu właściwość Visible ( Widoczność ) ustawiamy na false ( Nieprawda ).
Dla Label 5 ( Caption : Link do strony ) właściwość Visible ustawiamy na false.
Dla Link właściwość Visible też ustawiamy na false.

Łączenie się z serwerem i wysyłanie pliku


Dla procedury onClick Wyslij ustaw :
 Id.Host:='www.mojastrona.pl'; // Adres strony
 Id.Username:='nazwa_uzytkownika'; // Nazwa uzytkownika do serwera
 Id.Password:='haslo'; // Haslo uzytkownika do serwera
 Id.Disconnect;
 Id.Connect();
 Id.Put('plik ktory chcemy wysla','miejsce docelowe i nazwa pliku np. pliki/cos.png'); // wyslanie pliku
 Id.Disconnect;

Ale pokazalem to tylko żeby wam pokazać jak wysyłać pliki, jeżeli ktoś się spyta dlaczego użyłem Disconnect ( rozlączenia ) zanim użyłem Connect ( Połączenia ) to odpowiem , ponieważ podczas błędu program się nie rozłączy a potem delphi może mieć do nas pretensje że już jesteśmy połączeni :P

Tworzenie strony o pliku


Nasz program będzie miał umiejętność tworzenia stron internetowych pliku. Strona będzie wysyłana razem z plikiem i będzie zajmowała nie więcej niż 2 kb.

A więc w onClick wstawiamy :
var
 i : integer;
begin
 Randomize; // losujemy
 i:=Random(1000000); // zmienna i = jakaś liczba od 1 do 1000000
 System.Lines.Clear; // kasujemy zawartość memo
//     Tworzymy kod HTML   //
 System.Lines.Add('<html>');
 System.Lines.Add('<head>');
 System.Lines.Add('  <meta http-equiv="Content-type" content="text/html; charset=ISO-8859-2" />');
 System.Lines.Add('  <meta name="Description" content="" />');
 System.Lines.Add('  <meta name="Author" content="Meodta Uploader" />');
 System.Lines.Add('  <meta name="Generator" content="EdHTML" />');
 System.Lines.Add('  <title>'+Tytul.Text+' - Generowane w Meodta Uploader'+'</title>');
 System.Lines.Add('</head>');
 System.Lines.Add('<body>');
 System.Lines.Add('<font size="5">Plik dodany przez: ' + Autor.Text + '</font><br>');
 System.Lines.Add(Tytul.Text + '<br>');
 System.Lines.Add('<font size="5">Opis Pliku:</font><br>' + Opis.Text + '<br>');
 System.Lines.Add('<font size="5">Link do strony: </font> <a href="' + Id.Host + '/Pliki/st' +IntToStr(i) + '.htm">Strona</ a><br>');
 System.Lines.Add('<font size="5">Link do Pliku: </font> <a href="' + Id.Host + '/Pliki/pl'+IntToStr(i) +  '>Plik</ a><br>');
 System.Lines.Add('</body>');
 System.Lines.Add('</html>');
 System.Lines.SaveToFile('st' + InTtoStr(i) + '.htm');
// Wysyłamy pliki na serwer //
 Id.Disconnect;
 Id.Connect();
 Id.Put('st' + InTtoStr(i) + '.htm' , Id.Host + 'Pliki/st' + inttostr(i)+ '.htm');
 Id.Put('opendialog1.filename', Id.Host + 'Pliki/pl' + inttostr(i) + '.png');
 Link.Text:=Id.Host+'/Pliki/st' + inttostr(i) + '.htm';
 Link.Visible := True;
 Label5.Visible := True;
 Id.Disconnect;
end;


Tak zwane zakończenie


Teraz w onClick dla Przegladaj ustaw :
Opendialog1.Execute;
Sciezka.Text:=Opendialog1.FileName;



Mam nadzieję że komuś się on przyda :]
 



Mam nadzieję że niedługo go skończę ;)

2 komentarze

meodta 2008-11-15 21:58

bo jeszcze nie skonczylem ;P

winerfresh 2008-11-15 18:08

coś nie wyszło :P