AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Gopher-Suite (früher: Gopher-Client)
Thema durchsuchen
Ansicht
Themen-Optionen

Gopher-Suite (früher: Gopher-Client)

Ein Thema von Waldteufel · begonnen am 14. Mai 2005 · letzter Beitrag vom 14. Okt 2005
Antwort Antwort
Seite 3 von 4     123 4      
Waldteufel
Hi.

Aus reiner Abenteuerlust hab ich unter Zuhilfenahme von TidGopher und TEmbeddedWB einen Gopher-Client geschrieben.
Wer nicht weiß, was Gopher ist :

Features:
  • History
  • Dateiinfo mit Strg + Klick abrufbar
  • Unterstützung von Ordnerinformationen
  • Hyperlinks
  • Downlad von Binärdateien
  • Suche (experimentell )
Was er noch nicht kann:
  • CSO-Telefonbuch-Unterstützung
Benötigt beim Compilieren:
Compiliert mit Delphi 7 Architect.
Getestet auf Windows XP Home SP 2.

Damit man sich ein bischen zurechtfindet, stehen in der History schonmal 2 Server drin.
gopher://gopher.floodgap.com und gopher://caramba.cs.tu-berlin.de

Je nachdem, welche Server-Software auf dem Server läuft, kann es beim Anklicken von ".." zu Fehlern kommen. Die Fehlerursache ist klar, aber nicht, wie man ihn beheben könnte.

//edit1: Ein kleines Feedback wär' fein...
//edit2: Setup angehängt
//edit3: Text ein bischen umformuliert.
//edit4: Screenshot vergessen
//edit5: Archiv gepostet
//edit6: Das Archiv enthält nur das Programm. Wer die Quellcodes will, kann sich ja das Setup runterladen. Sowohl Programm, als auch Setup "vermüllen" nicht die Registry (bis auf einen Uninstall-Eintrag beim Setup).

//edit7: Anhang gelöscht. Grund: Siehe hier.
Miniaturansicht angehängter Grafiken
gopher_150.jpg  
 
Waldteufel
 
#21
  Alt 2. Jul 2005, 16:18
Hi.

Erstmal: Danke für's Testen.

Zitat von Daniel G:
Seite Vorwärts/ Rückwärts-Funktion
Zurück geht mit Alt+Rück (siehe Hilfe)
//edit: Vorwärts ist momentan etwas schwierig, da ich Rückwärts über einen Stack löse.

Zitat von Daniel G:
Ich bin so an "Doppelklick" gewöhnt, wenn ich in ein Verzeichniss wechseln will. Is' aber auch nicht so wichtig...
Stell's dir einfach als Link vor

Zitat:
Vllt. den Favoritenmanager direkt ins Programm integrieren
Shortcut könnte ich einbauen, aber integrieren werde ich ihn nicht. //edit2: ERLEDIGT

Zitat von Daniel G:
Das Icon sieht übrigens gut aus!
Bei www.foood.net gibts noch mehr solche.
  Mit Zitat antworten Zitat
Waldteufel
 
#22
  Alt 2. Jul 2005, 16:48
Hi.


Version 2.1.1
(dieses Mal ist der Grund wieder erfreulich )


Neue Features:
  • Der Favoritenmanager kann jetzt mit Strg+F10 aufgerufen werden.

Noch Wünsche, Anregungen, Hoffnungen, Träume oder Bedürfnisse? Her damit!
  Mit Zitat antworten Zitat
Jarmen_Kell
 
#23
  Alt 2. Jul 2005, 17:07
Zitat:
//edit: Vorwärts ist momentan etwas schwierig, da ich Rückwärts über einen Stack löse.
Dann könntest du das doch über eine StringList lösen. Dazu noch einen Integer, der die aktuelle Adresse anzeigt.
Dann Int. erhöhen oder erniedrigen und den entsprechenden String nutzen.
  Mit Zitat antworten Zitat
Waldteufel
 
#24
  Alt 2. Jul 2005, 17:21
Hi.

Zitat von Jarmen_Kell:
Zitat:
//edit: Vorwärts ist momentan etwas schwierig, da ich Rückwärts über einen Stack löse.
Dann könntest du das doch über eine StringList lösen. Dazu noch einen Integer, der die aktuelle Adresse anzeigt.
Dann Int. erhöhen oder erniedrigen und den entsprechenden String nutzen.
Momentan habe ich einen Stack mit Elementen vom Typ TGopherData. Deser (Record-)Typ beinhaltet Informationen wie Dateityp, URL, Server und Port (zum besseren Verständnis würde ich dir empfehlen, den Quellcode anzusehen). Wenn ich das ganze über eine String-List löse muss ich vor jedem "Zurück" die Daten wie Dateityp, URL, Server und Port wieder vom Server holen (wie eigentlich, wenn ich Server und Port nicht kenne? ), was den Programmablauf erheblich verlangsamen würde. Ich könnte zwar die URLs auch so ablegen: "gopher://abcdefg.gopher.de:70/1/abc/def.ghi", aber das ist mir dann ehrlich gesagt etwas zu viel Arbeit, das Ganze dann zu kodieren, zu dekodieren, wieder zu kodieren, und wieder zu dekodieren.
Ich muss zugeben, ich hatte mit TList angefangen, aber es gab große Probleme bei der Entscheidung, was in folgendem Fall passieren soll:

Code:
Position:   History:                                    So?            oder So?       oder So?

             Seite1                                       Seite 1        Seite 1        Seite 1
             Seite2                                       Seite 2        Seite 2        Seite 2
->          Seite3            [Klick auf "Seite 6"]     Seite 3        Seite 3        Seite 3
             Seite4                                    -> Seite 6     -> Seite 6        Seite 4
             Seite5                                       Seite 4                       Seite 5
                                                          Seite 5                   -> Seite 6
Und da hab ich mir dann gedacht: Zurück ist wichtiger als Vor; konzentrierste dich erstmal darauf.
Und dann bin zu dem Schluss gekommen, dass Stack wohl hier geeigneter wäre.

//edit: Tippfehler
  Mit Zitat antworten Zitat
Jarmen_Kell
 
#25
  Alt 2. Jul 2005, 17:33
Also

1) Das ist kein Record, sondern ne class
2) Ein dynamischer Array of TGopherData wär doch wohl möglich oder nicht?
Die Vorgehensweise bleibt freilich so (Also aktuelle Zahl speichern etc. und dann zusätzlich bei nem neuen Link den Array um eins vergrößern)

Variante "oder So?" ist sicherlich die beste!
  Mit Zitat antworten Zitat
Waldteufel
 
#26
  Alt 2. Jul 2005, 17:53
Hi.

Zitat von Jarmen_Kell:
1) Das ist kein Record, sondern ne class
2) Ein dynamischer Array of TGopherData wär doch wohl möglich oder nicht?
Die Vorgehensweise bleibt freilich so (Also aktuelle Zahl speichern etc. und dann zusätzlich bei nem neuen Link den Array um eins vergrößern)

Variante "oder So?" ist sicherlich die beste!
1) Wie weit muss Alzheimer fortgeschritten sein, damit ich nicht mehr weiß, was ich selbst programmiert habe?

2) Welches oder So? Das erste, oder das zweite?
Vielleicht probier ich's ja nochmal mit TList...
//edit: Ich nehm einfach mal an, du meinst das erste "oder So?". Okay?

//edit2: Hoppla... Das mit dem Vorwärts war gar nicht so schwer, wie ich dachte... Fertig!
  Mit Zitat antworten Zitat
Waldteufel
 
#27
  Alt 2. Jul 2005, 18:44
Hi.

Version 2.1.2
Das geht ja richtig fix heute...


Neue Features:
  • Jetzt kann man auch (per Shift+Alt+Rück (blöder Shortcut, aber mir fiel nichts besseres ein...)) in der History "Vorwärts" gehen
Angehängte Dateien
Dateityp: exe gopher-client-setup_571.exe (729,2 KB, 2x aufgerufen)
  Mit Zitat antworten Zitat
Jarmen_Kell
 
#28
  Alt 2. Jul 2005, 19:06
Na hat doch prima geklappt

Ich meinte das 2. "oder So?". Also die letzte Version.

Es gibt
1) Es heißt "History" und sollte daher auch chronologisch aufgebaut sein. => V1 ist ungünstig
2) Es gibt keinen Grund, einfach irgendwelche Einträge zu löschen => V2 auch.

Zudem ist es auch das Leichteste
  Mit Zitat antworten Zitat
marabu
 
#29
  Alt 2. Jul 2005, 19:33
Hallo Leute,

unter einer History-Funktion verstehe ich auch beim Gopher-Client eine lineare Liste. Aus dieser Bedingung folgt dann, dass Variante 2 aus Waldteufels Tabelle korrekt ist. Variante 3 (das zweite und so) ist schon alleine deshalb falsch, weil die chronologisch geordnete Liste (man stelle sich jeden Eintrag mit einem timestamp versehen vor) verfälscht wird.

Ich denke vorwärts und rückwärts in der history-list zu gehen ist eine triviale Angelegenheit. Diskussionswürdig scheint mir nur die Frage zu sein, ob die history-list auch dann zu beschneiden ist, wenn der Benutzer über das Gopher-Menü an den Ort navigiert, den er auch mit einem Vorwärts-Schritt in der history-list erreichen würde.

Grüße vom marabu

[edit]
Was schreibe ich denn da? Auf der history-list ist eben keine chronologische Ordnung definiert und weil Variante 3 so tut als ob ist sie die falsche.
[/edit]
  Mit Zitat antworten Zitat
Waldteufel
 
#30
  Alt 2. Jul 2005, 19:48
Hi.

@marabu: Das klingt überzeugend. Ich werd's beim ersten "oder ( ) So?" belassen.

Ich war übrigens mal so frei und habe den Shortcut in Alt+Links für Zurück und Alt+Rechts für Vor geändert (Wer will, kann auch Strg dafür verwenden. Es funktioniert beides).

Korrigierte Version (2.1.3) im Anhang
Angehängte Dateien
Dateityp: exe gopher-client-setup_511.exe (729,7 KB, 2x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz