Deutsch
Forum

IP Checker

 

Stefan
Landsberg
Hallo,

irgendwie wurde mir der alte Thread hier [...]  zu unübersichtlich, und da dachte ich mach einen neuen Thread auf.
(Wenn dass nicht gewünscht ist bitte ich einen Admin einen von beiden zu löschen).

Worum gehts: Ich bin dabei mein erstes Programm zu programmieren. es soll eine liste von ips anpingen und dann anzeigen ob sie erreichbar sind oder eben nicht.

mein Programm ist (bis auf das Design) schon fast fertig.
Zur Zeit sieht der Code so aus: [...] 

und hier die Frage:

ist es eine gute Idee als Ausgabefeld eine MultiEditBox zu nehmen oder gibt es dafür besseres? ich hab nichts gefunden!
mein problem ist, dass das
nicht als absatz angezeigt wird sondern nur als schwarzer Kasten.
in dem Ausgabefeld soll aber ein Liste ausgegeben wobei jede IP eine eigene Zeile hat.
 
26.07.2008  
 




Stefan
Landsberg
weiß keiner eine alternative zu multieditbox oder kann mir sagen wie man mit settext absätze in multieditboxen kriegt?
 
27.07.2008  
 




Sebastian
König
Hallo Stefan,

Stefan Landsberg
weiß keiner eine alternative zu multieditbox oder kann mir sagen wie man mit settext absätze in multieditboxen kriegt?


in MultiEdits bekommt man einen Zeilenumbruch durch die Kombination der ASCII-Zeichen 13 (CR) und 10 (LF). Ab XProfan 9.0 steht das "
" für einen String aus beiden Zeichen (deshalb liefert len("
") auch eine 2 zurück). Für ältere Versionen kannst Du einfach

"Zeile 1"+chr$(13)+chr$(10)+"Zeile 2"

benutzen.

HTH

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
27.07.2008  
 




Stefan
Landsberg
Danke funktioniert super.

Darf ich noch drei Fragen stellen?:

1. irgendwie werden in meiner ip outputbox nur 230-260 zeichen ausgegeben. der rest wird irgendwie verschluckt. ist die bereichsvariable voll?? eigentlich hab ich die auf 32000 byte dimensioniert.
weiß jemand woran das liegen kann?
hat ein ascii zeichen soviel byte?

2. wie mache ich es dass man die ip inputbox auch nochmal mit einer liste füllen kann und ein zweites (und drittes, und ...) mal auf den button Überprüfen klicken kann?

3. Wie macht man es dass das Fenster nur über das (rote) schließen kreuz geschlossen werden kann.(und natürlich mit ALT+F4).
ich habe das automatische schließen des fensters erstmal mit waitkey verhindert.

Der code sieht zurzeit so aus:  [...] 
 
27.07.2008  
 



Zu 3. zum WindowStyle 512 addieren und
KompilierenMarkierenSeparieren
WhileNot exit%

    case %key=2 : break

    If @GetFocus(btn%)

 
27.07.2008  
 




Sebastian
König
Stefan Löwen
1. irgendwie werden in meiner ip outputbox nur 230-260 zeichen ausgegeben. der rest wird irgendwie verschluckt. ist die bereichsvariable voll?? eigentlich hab ich die auf 32000 byte dimensioniert.
weiß jemand woran das liegen kann?
hat ein ascii zeichen soviel byte?


Das liegt daran, dass in Profan² 6.6 die maximale Länge eines Strings noch auf 255 Zeichen beschränkt ist. In der Zeile

settext ipoutput%,@string$(ipouttxt#,0)

wird die Rückgabe von @string$() deshalb nach 255 Zeichen abgeschnitten. Umgehen kannst Du das Problem, indem Du den Text Schritt für Schritt in das MultiEdit schreibst. Dazu ist wohl etwas API notwendig - ich benutze immer diese Kombintation:
KompilierenMarkierenSeparieren
SendMessage(box&, ~EM_SETSEL, -1, -1)
SendMessage(box&, ~EM_REPLACESEL, 0, Addr(line$))
SendMessage(box&, ~EM_SCROLLCARET, 0, 0)

In Profan² 6.6 benötigst Du die Zahlenwerte der Messages - sie sollten in der Hilfe stehen. Außerdem muss hinter dem Addr() noch ein +1 ergänzt werden.

Stefan Löwen
2. wie mache ich es dass man die ip inputbox auch nochmal mit einer liste füllen kann und ein zweites (und drittes, und ...) mal auf den button Überprüfen klicken kann?


Falls ich die Frage richtig verstehe, würde ich sagen: Schleife um alles und ggf. am Anfang die Ausgabe-Box löschen.

HTH

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
27.07.2008  
 




Stefan
Landsberg
hmm,
danke iF für die schnelle antwort.

aber das erwünschte hat das auch nicht gebracht. jetz wird zwar das waitkey übersprungen wenn ich über das kreuz schließe. aber das kreuz hat keine wirkung bevor ich auf überprüfen geklickt habe.
Und wenn ich, nachdem ich auf Überprüfen geklickt habe, einfach so eine Taste drücke wird das Fenster auch geschlossen (wegen dem WaitKey).

Ich denke 2. und 3. müssen gemeinsam gelöst werden. vielleich irre ich mich aber auch.

Aktueller Code:  [...]  

Edit: ui jetz hab ich noch eine antwort (danke sebastian). dann werde ich mir das jetz auch angucken und mich dann nochmal melden.
 
27.07.2008  
 



Was sehe ich da...

das waitKey wech,- ein waitinput vor case %key=2 : break
 
27.07.2008  
 




Stefan
Landsberg
@iF:
ne auch nicht. jetz kann ich das fenster zwar auch vor dem Überprüfen schließen, aber nach dem Überprüfen wirds automatisch geschlossen.

So sieht der Code jetz aus:  [...]  
 
27.07.2008  
 




Stefan
Landsberg
so jetz die antworten zu sebastian:

bei mir in der hilfe stehen nur die zahlenwerte für em_setsel und em_replacesel.
em_scrollcaret ist garnicht erwähnt.
und infos dazu was die parameter hinter der message bedeuten gibts auch nicht.


und eine schleife habe ich doch um alles.

WhileNot exit%
...
EndWhile

und: Welche ausgabebox meinst du

tut mir leid dass ich soviele negative ergebnisse liefere. ich find das auch doof das das nicht so will wie ich!

code:  [...]  
 
27.07.2008  
 




Sebastian
König
Stefan Löwen
bei mir in der hilfe stehen nur die zahlenwerte für em_setsel und em_replacesel.
em_scrollcaret ist garnicht erwähnt.
und infos dazu was die parameter hinter der message bedeuten gibts auch nicht.


Ok, hier ist erstmal der Wert: EM_SCROLLCARET = $00B7. Ausführliche Beschreibungen zu den Parametern und vieles mehr findest Du unter  [...] 

Stefan Löwen
und eine schleife habe ich doch um alles.

WhileNot exit%
...
EndWhile

und: Welche ausgabebox meinst du


Mit der Ausgabe-Box meine ich die Ergebnisliste. Wenn ich das richtig sehe, ist Dein Code wirklich schon so, dass man immer wieder auf "Überprüfen" klicken kann. Kannst Du genauer beschreiben, was Du machen möchtest?

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
27.07.2008  
 




Stefan
Landsberg
hm werde mir das mit den messages dann mal angucken.

ich möchte dass so haben, dass ich das programm öffne, und in das eingabefeld ein liste von ips eintippe. dann klicke ich auf überprüfen.
daraufhin werden in der unteren box die ergebnisse angezeigt, und die obere box wird gelehrt.
Soweit funktioniert das ja auch.
Aber ich hätte es gerne so dass ich die eingabebox dann ein zweites mal mit (anderen) ips füllen kann und wieder auf Überprüfen klicken kann.
Dann soll die untere Box geleert werden und es werden die ergebnisse der neuen liste ausgegeben.

danke schonmal für die Hilfe
 
27.07.2008  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

15.916 Betrachtungen

Unbenanntvor 0 min.
Ernst10.04.2014
Wolfgang10.06.2013
Setharial14.02.2013
Peter Max Müller11.12.2011
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie