Autor |
Beitrag |
chickenfigt1989
      
Beiträge: 444
Erhaltene Danke: 2
|
Verfasst: So 04.04.10 19:12
Hallo
Ich habe per Button klick eine Datei aus dem Internet geladen mit IdHTTP.
Mein Code dafür sah folgendermaßen aus:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| var FS:Tfilestream; URL:Sring; Begin URL:='http://www.chiller4fun.de/addons/serverjumper.zip'; FS:=Tfilestream.Create('serverjumper.zip' ,fmCreate); IdHTTP1.Get(URL,FS); FS.Free; |
Jetzt hab ich Indy10 und wollte fragen ob mir jemand den Code dazu sagen kann.
Wen ich den Code von oben nimm kommt immer:
[Error] es.pas(12401): Undeclared identifier: 'Sring'
[Error] es.pas(12405): Undeclared identifier: 'IdHTTP1'
[Fatal Error] helper.dpr(535): Could not compile used unit 'es.pas'
Lg Moderiert von Gausi: Topic aus VCL (Visual Component Library) verschoben am Mo 05.04.2010 um 13:11
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: So 04.04.10 19:16
Ach komm, das ist nicht dein Ernst, dass du dafür Hilfe von den Leuten hier brauchst, oder?
Der erste ist ja wohl nur simpel, und zum zweiten: Entweder du hast kein Objekt IdHTTP1, oder die Prozedur die du uns hier zeigst, ist keine Methode des Formulars.
_________________ PROGRAMMER: A device for converting coffee into software.
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 04.04.10 19:28
Mal davon abgesehen fehlt da noch die Fehlerbehandlung (Stichwort: try..finally).
Außerdem fehlt eine Pfadangabe. Was bringt es dir die Datei herunterzuladen, wenn du die dann an einem mehr oder weniger zufälligen Ort auf der Platte speicherst und nie wiederfindest... 
|
|
chickenfigt1989 
      
Beiträge: 444
Erhaltene Danke: 2
|
Verfasst: So 04.04.10 19:47
Wieso an einen Zufälligen Ort. Die Datei wird im Programm ordner gespeichert und ne Idhttp komponente hab ich auch auf der Form.
lg
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 04.04.10 20:02
Aber nur rein zufällig, weil das gerade das aktuelle Arbeitsverzeichnis ist.
|
|
chickenfigt1989 
      
Beiträge: 444
Erhaltene Danke: 2
|
Verfasst: So 04.04.10 21:26
Wenn ich das so will, dann will ich das halt so.
Das war aber nicht meine Frage.
Gruß
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: So 04.04.10 21:46
Das hat nichts mit "wollen" zu tun, sondern damit, dass man die Konsequenzen kennt..
Und zu deinem Problem hab ich doch oben schon was geschrieben: Du hast ne Prozedur, und keine Methode des Formulars.
_________________ PROGRAMMER: A device for converting coffee into software.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 04.04.10 21:51
Das mag zwar nicht deine Frage gewesen sein. Aber deine Frage deutet daraufhin, dass du absolut keine Erfahrung hast. deswegen war das nur ein gut gemeinter Tipp, um weitere Fehlerquellen von vorne herein auszuschließen. Aber wenn du das ignorierst ist das deine sache. dann komm aber morgen nicht an und frag uns, wo denn die Datei geblieben ist, die du runtergeladen hast.
|
|
chickenfigt1989 
      
Beiträge: 444
Erhaltene Danke: 2
|
Verfasst: Mo 05.04.10 01:57
Ja ich weiß
naja heut und morgen sind eh meine Letzten Tage hier.
Und wie muss die Methode aussehen?
wegen dem Pfad wie soll ich des sonst anders machen?
Ich hatte vorher nen Pfad das es unter c gespeichert wird aber bei jedem ist die Ordnerstruktur anders.
Lg
|
|
elundril
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: Mo 05.04.10 02:08
deswegen gibts zum beispiel den SaveDialog oder methoden um die eigenen Dateien des benutzers zu finden oder andere Bestimmte ordner die auf jedem PC vorhanden sind.
Nun ja du könntest entweder ein "TForm1." (oder wie die Form halt sonst heißt auf der das IdHttp1 liegt) vor den Namen der Procedure schreiben oder du schreibst ein Form1 (oder wie die Form halt sonst heißt auf der das IdHttp1 liegt) vor das "IdHTTP1.Get(URL,FS);"
lg elundril
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|
chickenfigt1989 
      
Beiträge: 444
Erhaltene Danke: 2
|
Verfasst: Mo 05.04.10 02:20
Oke dankeschön hat geklappt.
Und jetzt noch wegen dem Speichern unter.
Reicht es da wen ich bei idhttp bei onworkbegin die speichern unter prozedur aufrufe?
lg
|
|
elundril
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: Mo 05.04.10 05:43
woher sollen wir denn wissen wie deine speichern unter Prozedur aussieht? Demnach kann es durchaus möglich sein, das es reicht diese aufzurufen, aber wenn nicht kannst du zumindest den gleichen Savedialog verwenden.
lg elundril
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|
chickenfigt1989 
      
Beiträge: 444
Erhaltene Danke: 2
|
Verfasst: Mo 05.04.10 12:09
Meine Speicher Prozedur sieht so aus:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| procedure TForm1.Speichernunter1Click(Sender: TObject); var Dateiname: string; begin if SaveDialog1. Execute then begin if ExtractFileExt(SaveDialog1.FileName) = '' then case SaveDialog1.FilterIndex of 1: DateiName := ChangeFileExt(SaveDialog1.FileName,'.py'); 2: DateiName := ChangeFileExt(SaveDialog1.FileName,'.uem');
end else Dateiname := SaveDialog1.FileName; SynEdit1.Lines.SaveToFile(Dateiname); SynEdit1.Modified := false; end; end; |
lg
|
|
ALF
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: Mo 05.04.10 12:31
Oh, grosser Meister chickenfigt1989. Verzeih den Unwissenden hier und mir, das wir nicht verstehen die Prüfungen die Du uns auferlegst, vor allen Dein Willen zu akzeptieren.
Und da Du grosser Meister keine Zeit für banale Forensuche oder Delphihilfe hast, erkennbar an Zeilen in Deinen Prog < 12405, versuche ich mein kleines Wissen Dir zu geben!
Du kannst nun Deine 'Speichernunter1Click Procedure' erweitern, um die Datei die Du oben in der anderen Procedure in 'FS' stehen hast zu speichern, bevor Du FS.Free gibst oder, Du verwendest oben in Deiner Procedure den Savedialog1, in etwas abgewandelter form, um diese Datei zu Speichern ebenfalss bevor Du FS.Free gibst!
Beides setzt vorraus das der Download ordungsgemäss beendet ist!
Ich hoffe das ich Dir eine Hilfe sein konnte!?
Gruss Alf
_________________ Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Mo 05.04.10 13:10
Was hat diese Speicher-Methode denn mit dem Problem aus dem ersten Posting zu tun  ? Dort soll eine runtergeladene Zip-Datei aus dem Netz gespeichert werden, und hier kommt jetzt was mit nem Synedit?
_________________ We are, we were and will not be.
|
|
ALF
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: Mo 05.04.10 13:15
@Gausi, dies ist doch die Antwort auf dieser Frage
elundril hat folgendes geschrieben : | woher sollen wir denn wissen wie deine speichern unter Prozedur aussieht? ....
lg elundril |
Gruss Alf
_________________ Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Mo 05.04.10 13:38
Das ist schon klar. Aber wenn man diese Synedit-Saveto-Methode da vor dem Download aufruft, dann hilft das ungefähr gar nichts.
Wenn ich mit dem Auto irgendwohin fahren will, und das nicht klappt, dann hilft es auch nicht, wenn ich vorher die Waschmaschine anstelle. 
_________________ We are, we were and will not be.
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 05.04.10 13:44
Kennt ihr das Spiel denn noch nicht? Lotto: 20 Befehle aus 5000 oder so.
Die Wahrscheinlichkeit für ein sinnvolles Programm könnt ihr selbst ausrechnen. 
|
|
ALF
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: Mo 05.04.10 13:58
Och Leute! Wir sollen Ihm Quellcode liefern und nicht in Rätseln schreiben
zumal der Begriff Savedialog ihm nicht bekannt ist!?
Gruss Alf
_________________ Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
|
|
elundril
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: Mo 05.04.10 16:23
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|