If abfrage hat bugs
Hallo
Ich eröffne für diese frage mal einen neuen thread (was man ja auch sollte :) ) Also Ich benutze folgenden code um eine Datei von einem FTP zu downloaden diese beinhaltet einen wert, sagen wir: wert. nun soll dieser wert im programm überprüft werden wie ich es ja auch gemacht habe... das problem, es geschieht absolut nichts. Hier der code
Delphi-Quellcode:
rc ist der Indy FTP Client
procedure TForm1.actionTimer(Sender: TObject);
begin ds := TMemoryStream.Create; memo1.Lines.SaveToStream(ds); ds.Position := 0; rc.Put(ds,cn+'.log',false); ds.Free; ds := TMemoryStream.Create; try rc.Get(cn+'.log.act',ds,true); rc.Delete(cn+'.log.act'); except memo1.Lines.Add(timetostr(now)+' -- Error No act File Found') end; ds.Position := 0; memo2.Lines.LoadFromStream(ds); ds.Free; value := memo2.Text; if value = ('ejectcd') then showmessage('junge junge'); //EDIT: Vergessen if value = 'clr' then close; // memo2.Clear; end; ds ist als TStream deklariert worden cn ist der computernamen was hier als dateinamen dient Die aktionen sind etwas doof aber es soll bis es klapt nur ein test sein Ich weiss echt nicht mehr weiter hoffe sehr auf hilfe grüsschen |
Re: If abfrage hat bugs
Wo ist hier nochmal die If Abfrage, die einen Bug enthält :gruebel:
Und was meinst du damit, das nichts passiert? |
Re: If abfrage hat bugs
Ja es sollte die anwendung geschlossen werden
aber das wird sie nicht |
Re: If abfrage hat bugs
und was enthält value?
|
Re: If abfrage hat bugs
Bist du sicher, das dann jeweils nur das eien Kommando im Memo steht? (Ohne Leerzeichen usw.)
Laß dir mal den Inhalt von Value anzeigen. U.U. hilft auch eine Trim() |
Re: If abfrage hat bugs
Hast du dir schon mal den Wert von "value" mit ShowMessage oder im Debugger anzeigen lassen?
|
Re: If abfrage hat bugs
Hi,
ich wette value enthält "clr" und ein Carriage Return und dann schlägt das if nicht zu. teste mal length(value) das ist dann sicher 4 oder sogar 5. Gruss |
Re: If abfrage hat bugs
wie man sehen sollte den text aus memo2
also es soll folgendes tun datei von server mit befehl in stream laden stream in memo öffnen (befehl wie zb: hallo sollte nun in der memo stehen) variable value soll den befehl bekommen der im memo steht (fals es ohne Variable geht ist mir das lieber) nun soll man die variable mit den definierten befehlen vergleichen können also zb
Delphi-Quellcode:
if gespeicherterbefehl = ('befehl bla bla') then mache was;
|
Re: If abfrage hat bugs
EDIT: Ja es sind 5 zeichen bei 3 sichtbaren
wie krieg ich den da raus den return? |
Re: If abfrage hat bugs
Delphi-Quellcode:
value := memo2.Lines[0];
|
Re: If abfrage hat bugs
Delphi-Quellcode:
Aber ein bisschen komisch find ich diese programmierweise schon...
if pos('clr', value)>0 then close;
//edit: Wo genau steht denn das clr? immer in der ersten Zeile im memo? oder irgendwo? ... |
Re: If abfrage hat bugs
ja also es wird eigentlich sirekt in ein memo
eingefügt welches mittels lines.savetostream und FTP.put raufgeladen wird Wie meinst du merkwürdige programmier weise? Ich bin auf vorschläge immer offen :D |
Re: If abfrage hat bugs
ich kenn mich mit dem indyFTP nicht aus aber warum lädst du es nicht direkt hoch ohne umweg über das memo? oder benutzt du das zur eingabe? ich hab halt noch nicht verstanden, was du da überhaupt machst ;) aber mit den pos befehl sollte es klappen :)
|
Re: If abfrage hat bugs
Danke
Es soll ein programm werden welches mir ermöglicht bestimte programme auf einem weiteren computer (auf dem dachboden) zu starten |
Re: If abfrage hat bugs
Super hat geklapt vielen dank euch allen
|
Re: If abfrage hat bugs
Sehr gut :) Ansonsten kann ich noch Lan-fs empfehlen... *schleichwerbung mach* das kann das auch und hat noch n paar andere lustige features... aber selberprogrammieren ist halt doch immer was anderes ne?
|
Re: If abfrage hat bugs
Ja.. :D
|
Re: If abfrage hat bugs
Zitat:
Mit dem TCmdTCPServer kannst Du mit wenigen Mausklicks einen Dienst (Service) programmieren, der übers Netzwerk auf einem bestimmten TCP-Port ansprechbar ist. Man kann sich dann mit TCmdTCPClient darauf einloggen, gegebenenfalls anmelden ("LOGIN schwaller") und dann Befehle ausführen. Ja, wird ein steiniger Weg. Fang erstmal an, das Programm mit dem TCmdTCPServer als normales Programm mit GUI zu programmieren und klick dich durch die Hilfe. Später kannst Du daraus noch einen Windows-Service basteln Gruß Michael |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:33 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