LNet Tutorial

Alle Fragen zur Netzwerkkommunikation
lucster
Beiträge: 30
Registriert: Mi 6. Aug 2008, 14:26
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Kontaktdaten:

Beitrag von lucster »

Ich weiss nich warum du dich so hast, christian, wenn mir jmd. seinen code offenlegt, der sich von meinem kaum unterscheidet. nur die gewinnbringenden eigenschaften haben sich unterschieden. genauso gut hätte er auch einfach schreiben können: probier mir mal anstatt FWUsername einfach Username. naja mir auch egal, scheinbar bist du dir nicht ganz eins mit der delphipraxis was ? :)

Trotzdem danke für die hinweise. Beim nächsten problemchen erstmal genauer lesen wäre angebracht :)

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Naja ich mags halt nicht so wenn man zu 5 verschiedenen Stellen rennt und sich rat holen will und zudem noch keine Lust hat mal selbst zu schauen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Beitrag von af0815 »

Was erwartest du dir im Detail von einem (guten) Tutorial. Zumindest für den Einstieg ?
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

lucster
Beiträge: 30
Registriert: Mi 6. Aug 2008, 14:26
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Kontaktdaten:

Beitrag von lucster »

Naja was halt ein Tutorial einem bieten sollte. Einsteigerbeispiele (Connect, Disconnect Abläufe, Standartfunktionen...) mit Erklärungen. Um sich dann höheren sachen auch selbst annähern zu können. Also die Grundsteine, aus denen man sich dann selbst ein haus bauen kann :)

christian, ich brauchte eine schnelle hilfe :)

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Beitrag von af0815 »

lucster hat geschrieben:Naja was halt ein Tutorial einem bieten sollte. Einsteigerbeispiele (Connect, Disconnect Abläufe, Standartfunktionen...) mit Erklärungen. Um sich dann höheren sachen auch selbst annähern zu können. Also die Grundsteine, aus denen man sich dann selbst ein haus bauen kann :)

Dier Frage ist, kann ich das zB. wissen über FTP und Proxy voraussetzen ? Die Frage ist für mich jetzt, wo soll/kann man sinnvoll anfangen ?

lucster hat geschrieben:christian, ich brauchte eine schnelle hilfe :)

Jetzt noch immer ? Dann, für was jetzt ?
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Jetzt noch immer ? Dann, für was jetzt ?


Nein er meinte weil er in verschiedenen Foren fragt. Wobei ich nicht sehe das dadurch irgendwas schneller geht. Schneller wärs gegangen in den Source zu schauen ;)
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

lucster
Beiträge: 30
Registriert: Mi 6. Aug 2008, 14:26
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Kontaktdaten:

Beitrag von lucster »

Es gibt keine Probleme mehr :) Hab übrigens nur in Delphi-Praxis noch nachgefragt. Da ist man ja innerhalb weniger Minuten geholfen :))

af018, bist du am überlegen, ob du ein Tutorial erstellst?

Ich als Anfänger mit dieser Komponente (synapse mitlerweile) hatte ich Schwierigkeiten ein einfaches Login und Logout zu erstellen. Bis endlich alle Eingeschaften und Funktionen gefunden waren, hat es eine Weile gedauert. Zumal ich mich noch nie mit Klassenhierarchien auseinandergesetzt hatte. Bin halt noch Anfänger :) Selbst wenn man weiß wonach man sucht ist es am Anfang schwierig den Befehl in den Klassen oder Bibliotheken zu finden. Habe ich jedenfalls so empfunden.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Beitrag von af0815 »

lucster hat geschrieben:af018, bist du am überlegen, ob du ein Tutorial erstellst?


Ja, ich bin mir bei den Fragen nur ins Grübeln gekommen, ob der FTP als solches überhaupt verstanden wurde. Oder ob ich das mit einem Beispiel allein abhandeln kann. Ich habe nähmlich keine 5 Minuten gebraucht um mir alles nötige aus dem beigepackten Examples heraus zu lesen.
Das ist jetzt keine direkte Kritik an dir, sondern eine Feststellung allgemeiner Art aufgrund von Beobachtungen. Und diese Beobachtung macht mich immer mehr Zweifelnd ob die Leute nach Verständnis oder schnellen Lösungen suchen.

Denn was nützen dir dann zum Beispiel die LazInfos, wenn sie sowieso keiner liest, weil jeder eine unmittelbare Lösung für sein Problem will und nicht für das Verständnis, wie ich das Problem nicht mehr habe.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

lucster
Beiträge: 30
Registriert: Mi 6. Aug 2008, 14:26
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Kontaktdaten:

Beitrag von lucster »

Ha da fängts schon an. Was ist denn die LazInfo? Ich finde nämlich keine direkte Hilfe im Programm, wie bei Delphi :s Scheinbar muss man sich da eine Datenbank besoregn und laden oder? Ich bin mit meinem Schulwissen und mittlerweile auch Studentenwissen immer weiter gekommen. Allerdings haperts halt an manchen Stellen, wie z.b. wenn man nach eine best. Funktionalität sucht aber man garnicht weis, wo man anfangen soll zu suchen. Daher auch die beiden Foren.
Die Tutorials von Delphi-Treff sind z.b. sehr gut. Da werden Paramter erklärt, Funkionen erläutert und das nötige Drumherum.

Klar sind auch Beispiele mit dem Download von Synapse dabei. Nur da hab ich mich auch verrannt. Hab krampfhaft versucht mit dem TFTP eine Verbindung herzustellen. Nene Beispiel zum "normalen" FTP Client Protokoll war nicht dabei.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Beitrag von af0815 »

lucster hat geschrieben:Ha da fängts schon an. Was ist denn die LazInfo? Ich finde nämlich keine direkte Hilfe im Programm, wie bei Delphi :s Scheinbar muss man sich da eine Datenbank besoregn und laden oder? ......


Wenigstens eine Rückmeldung, wo am meisten der Schuh drückt. Ich kann zumindest damit eine Menge anfangen. Danke.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

lucster hat geschrieben:dachte die Aufgabe eines Forums ist Informationsaustausch. Muss ich mich jetzt für mein Unwissen rechtfertigen?


Naja, man muss bedenken, dass die Leute, die in einem Forum Fragen beantworten, meist selbst nur beschränkt Zeit haben. Daher ist es wichtig, die eigenen Fragen auf den Kern zu reduzieren, bei dem man selbst nach erheblicher Anstrengung nicht weiter kommt.
Beispiel: Für die Beantwortung der Frage "Was ist denn die LazInfo?" brauchst du kein Forum. Genauso nutzt auch das beste Tutorial oder das beste Example nichts, wenn man sich nicht die Mühe macht, es durchzulesen/durchzuarbeiten.

af0815: Normalerweise sollte man voraussetzen können, dass sich jemand, der entsprechende Anwendungen schreiben möchte, vorher über FTP oder Proxy informiert hat, bevor er darüber nachdenkt, wie sich die Anwendungen in Lazarus realisieren lassen. Habe eben mal gegoogelt - es gibt ja einige Seiten, auf denen Wissen über FTP vermittelt wird. Daher glaube ich, dass Examples, versehen mit einigen Bemerkungen, ausreichen.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Beitrag von af0815 »

Euklid hat geschrieben: Daher glaube ich, dass Examples, versehen mit einigen Bemerkungen, ausreichen.

Nein, ich war dieser Meinung, musste sie aber aufgrund der Beobachtungen im letzten Jahr revidieren.

IMHO muß alles auf Knopfdruck aus Lazarus kommen. Dann wird die Akzeptanz höher sein. Langsam wird scheinbar die Information zur Bringschuld :-)
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

lucster
Beiträge: 30
Registriert: Mi 6. Aug 2008, 14:26
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Kontaktdaten:

Beitrag von lucster »

So nun stell ich nur hier meine Frage :)

Code: Alles auswählen

FTPClient.ChangeWorkingDir('D:\XXX');
 
if FTPClient.List(FTPClient.GetCurrentDir, false) then
  for i:=0 to FTPClient.FtpList.Count-1 do
    ListBox1.Items.Add(FTPClient.FtpList.Items[i].FileName);

Nur kurz erläutert:
Alle Dateinamen des aktuellen Verzeichnisses werden in FtpList geladen und danach in der ListBox ausgegeben.

Meine Frage dazu:
Mit welchem Befehl kann ich diese FtpList leeren? oder, Wie kann ich eine neue anfangen?

Mein Problem:
Ich rufe obengenannten Code auf.
Danach will ich in ein anderes Verzechnis wechseln (was laut Memo-Ausgabe nicht funktioniert, weil noch das alte Verzeichnis ausgegeben wird???) und den gleichen Algoritmus laufen lasse.

Mein Ergebnis:
Alte Liste wird ausgegeben.

Meine Versuche:
FTPClient.FtpList.Clear
FTPClient.FtpList.Items.Clear

Ich werds morgen früh nochmal versuchen, aber jetzt tut mir der Kopf weh :)

Code: Alles auswählen

//Verbinden
        if not FTPClient.Login then
          begin
            FTPClient.Free;
            MessageDlg('Fehler', ('Konnte keine Verbindung zu '+IP+' aufbauen.'), mtError, [mbOk], 0);
            Exit;
          end
        else Memo1.Lines.Add('Verbindung zu '+IP+' hergestellt...');
 
        //Verzeichniswechsel
        FTPClient.ChangeWorkingDir('D:\pcupdate\HC700\LOG');
 
        //Funtkion, die die Namen der Dateien des aktuellen Verzeichnisses in FtpList speichert, diese werden in ListBox1 ausgegeben
 
        if FTPClient.List(FTPClient.GetCurrentDir, false) then
          for i:=0 to FTPClient.FtpList.Count-1 do ListBox1.Items.Add(FTPClient.FtpList.Items[i].FileName);
        Memo1.Lines.Add('Log-Verzeichnis geladen...');
 
        if not(Values[High(Values)]='-.-') then
          begin
            if Values[1]='-.-' then //wenn Datum selektiert ist
              begin
                //Verzeichniswechsel
                FTPClient.ChangeWorkingDir('D:\ahsc\save\hsrawdata\'+Values[0]+'\');
                Memo1.Lines.Add(FTPClient.GetCurrentDir); //gibt altes Dir aus :(
 
                //Funtkion, die die Namen der Dateien des aktuellen Verzeichnisses in FtpList speichert, diese werden in ListBox5 ausgegeben
                if FTPClient.List(FTPClient.GetCurrentDir, false) then
                  for i:=0 to FTPClient.FtpList.Count-1 do ListBox5.Items.Add('
D:\ahsc\save\hsrawdata\'+Values[0]+'\'+FTPClient.FtpList.Items[i].FileName);
 
              end
            else  //wenn Zeitraum selektiert ist
              begin
                h:=Values[0];
                diff:=abs(strtoint(Values[1])-strtoint(Values[0]));
                for i:=0 to diff do
                  begin
                    //Verzeichniswechsel
                    FTPClient.ChangeWorkingDir('
D:\ahsc\save\hsrawdata\'+Values[i]+'\');
 
                    //Funtkion, die die Namen der Dateien des aktuellen Verzeichnisses in FtpList speichert, diese werden in ListBox5 ausgegeben
                    if FTPClient.List(FTPClient.GetCurrentDir, false) then
                      for j:=0 to FTPClient.FtpList.Count-1 do ListBox5.Items.Add('
D:\ahsc\save\hsrawdata\'+Values[i]+'\'+FTPClient.FtpList.Items[j].FileName);
 
 
                    //Der Wert des String Values[0] {Datum} wird incrementiert und formatiert
                    Values[0]:=Format('
%.3d', [strtoint(Values[0])+1]);
                  end;
                Values[0]:=h;
              end;
...


Grüße

creed steiger
Beiträge: 957
Registriert: Mo 11. Sep 2006, 22:56

Beitrag von creed steiger »

Hier:
http://www.szutils.net/Synapse/Synapse.php
ist eine FTP Demo für Lazarus.

Ich kann zwar den Finger nicht drauflegen aber dieser d:\xxx Kram kommt mir seltsam vor.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Beitrag von af0815 »

creed steiger hat geschrieben:Hier:
http://www.szutils.net/Synapse/Synapse.php
ist eine FTP Demo für Lazarus.

lNet <> Synapse

Normalerweise gibt man beim 'ChangeWorkingDir' nur das Verzeichnius an, wohin man will. Aber nicht einen ganzen Pfad.

Ich muß mir aber erst nachsehen, ob die Implementierung von lNet mehr kann und das automatisch auflösen. Werd am Abend mal genauer hineinsehen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Antworten