Deutsch
Forum

IP Checker

 
- Seite 1 -



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  
 



 
- Seite 2 -



Stefan
Landsberg
also:

ich hab jetz das exit%=1 rausgenommen und jetz funktioniert die schleife so wie ich es haben will. (komisch. ich hatte das exit%=1 vorher auch schonmal rausgenommen, und da kamn lauter fehler. naja aber jetz gehts)

die messages hab ich so gut ich das konnte in den quelltext eingebunden.
aber jetz sieht die ausgabe irgendwie total komisch aus.

ScrennShot der Ausgabebox im Anhang.

aktueller code: [...]  

18 kB
Kurzbeschreibung: hier der Screenshot
Hochgeladen:28.07.2008
Ladeanzahl194
Herunterladen
 
28.07.2008  
 



Das werden Steuerzeichen wie z.B. #13 und #13 sein, die kannst Du "vorher" per z.B. translate $(s$,chr$(10),"") herauslöschen. Vielleicht sind auch noch Tabs drin, probiere also auch Zeichen #9 zu löschen. Es sollte aber vielleicht hier schon reichen jede Zeile vor dem Hinzufügen in das untere Feld zu trim$ en.

Schaue Dir auch setDialogFont  und setze mal "MS Sans Serif",10,0,0,0,0 - sieht "Windowsmässiger" aus. (nod)
 
28.07.2008  
 




Stefan
Landsberg
ok die schriftart hab ich geändert.

aber translate$ und trim$ bewirken gar nichts.

aktueller Code: [...]  
 
28.07.2008  
 



...weil falsch angewandt...

Translate$ ist eine Funktion (Trim auch), d.h. sie gibt einen Wert zurück. Diesen Wert weist Du jedoch nirgends zu, besser:
KompilierenMarkierenSeparieren
ipouttxt$=Translate$(ipouttxt$,@Chr$(10),"")
bla$=trim$(blub$)

Das @-Zeichen ist schon seit vielen vielen Profan²-Versionen aus Sicht des Profan² sinnfrei, XProfan benötigt es schon garnicht... Du brauchst also kein @ schreiben, das wird eh unbeachtet weggegessen...

Wenn Du aber schon ein @-Zeichen setzt, dann bitte vor alle Funktionen und nicht nur mal hier und da.
 
28.07.2008  
 




Stefan
Landsberg
oh sorry,
ich hab zu oberflächlich gelesen. deshalb ist mir garnicht aufgefallen, dass translate$ eine funktion ist.

jetz wos richtig angewandt wird werden aber auch meine absätze gelöscht, und es ist wieder unübersichtlich.
und irgendwie hat sich auch hier noch ein kleiner fehler eingeschlichen (siehe screenshot)

Das @ hab ich immer dazugeschrieben weil Roland es in der Hilfe zu Profan 6.6 so sehr empfielt. Aber da Funktionen in XprofEd ja sowieso mit Dunkelblau markiert werden kann ich es auch weglassen. (hab ich dann auch gleich mal gemacht )

Eine fast Offtopic Frage:
Was ist eigenlicht bei den Shareware Versionen Profan7 XProfan8 und XProfan9
eingeschränkt. Weil bei denen ist ja die Stringlänge nicht auf 255 begrenzt und ich könnte meine ursprüngliche lösung verwenden.

Edit: ups ich hab meinen aktellen code vergessen. hier ist er: [...]  

16 kB
Kurzbeschreibung: Screenshot
Hochgeladen:28.07.2008
Ladeanzahl187
Herunterladen
 
28.07.2008  
 



Hrm, zur Offtopicfrage: Warum entwickelst Du nicht mit dem kostenlosen XProfan10-Free? [...] 

Du könntest ewig damit herumprogrammieren - mit allen Features die das XProfan10-Free zu bieten hat.

Und wenn Du dann irgendwann "fertig" bist dann wird sich bestimmt jemand finden der Dir daraus eine Exe macht - wenn Du bis dahin nicht sowieso schon XProfan 11 hast.

BTT

Entweder bekommst Du heraus wodurch sich die Fragmente bilden, oder Du belässt diese zunächst und entledigst Dich dieser etwas später - z.B. dann wenn die Zeile die Du hinzufügen möchtest getrimmt betrachtet kleiner als X Zeichen besitzt.

Da das Translate funktioniert kannst Du jetzt die Zeile, welche ASCII 10 entfernt, wieder auskommentieren und schauen wie das Ergebnis nun aussieht.
 
28.07.2008  
 




Stefan
Landsberg
vielen Danke für die Super hilfe bis jetzt. ich fahre dann jetz erstmal in urlaub (campen) und nachher guck ich mir mal xprofan 10 free an.
 
28.07.2008  
 




Stefan
Landsberg
so nachdem ich aus dem Urlaub zurück bin, hab ich erstmal mein Windows neu aufgesetzt, oder bin besser gesagt noch voll dabei.

Wenn ich damit fertig bin, was hoffentlich morgen oder übermorgen der Fall sein wird, kann ich mich dann wieder dem (XProfan) lernen widmen.
Da wir hier in NRW aber bereits Morgen wieder zur Schule müssen, habe ich leider nicht soviel Zeit euch mit Fragen zu überschütten.

Ich hoffe das wird niemandem fehlen
 
10.08.2008  
 




Stefan
Landsberg
so. das programm ist schon fast fertig.
ich habe nur noch ein problem:
wenn ich mehrere sehr unterschiedlich lange strings eingebe sind die ergebnisse nicht so schön angeordnet sondern so wie auf dem bild im anhang.
wie krieg ichs hin dass es da nur zwei ordentliche spalten gibt?

ich hab versucht eine prozedur zu schreiben die zu kurze strings auf 12 zeichen verlängert. aber das hat nicht richtig geklappt:
KompilierenMarkierenSeparieren
String verlängern

Proc extend

    parameters var$, length%

    while len(var$)<length%

        var$=var$+" "

    endwhile

endproc

Testprogramm
declare text$,text1$,text2$,textg$,edit%
windowstyle 27
windowtitle "test"
window 50,50,600,600
edit%=create("multiedit",%hWnd,"",60,60,500,200)
text$="hallo"
text1$=text$+"		-	welt
"
extend text$,12
text2$=text$+"		-	welt"
textg$=text1$+text2$
settext edit%,textg$
waitkey

so sieht das programm zur zeit aus:
KompilierenMarkierenSeparieren
Declare-Teil:
declare ping%, btn%, ipinput%, ipoutput%, exit%, ipline%, ip$, curline%
declare outgesamt$, outtxt$, statusbar%, text1%, text2%
Proc-Teil:

Proc Ping

    declare pingdatei1$, pingdatei2$, pingstring$, ping$
    Parameters ip$
    let pingdatei1$="PINGTEST.TXT"
    let pingdatei2$="PING.BAT"
    let pingstring$="PING.EXE -n 1",ip$,">",pingdatei1$
    Assign #6,pingdatei2$
    Rewrite #6
    Print #6,pingstring$
    Close #6
    WinExecwait(pingdatei2$,0)
    Assign #5,pingdatei2$
    Erase #5
    ASSIGN #3,pingdatei1$
    RESET #3
    Ping%=0

    WHILENOT EOF(#3)

        input #3,ping$
        ping$=mid$(ping$,1,11)
        case equ$(ping$,"Antwort von"):Ping%=1

    WEND

    CLOSE #3
    Assign #1,pingdatei1$
    Erase #1

EndProc

Def-Teil:
DEF GetSysColor(1) !"User32","GetSysColor"
Fenster erstellen:
WindowStyle 571
WindowTitle "IP Checker"
Window 50,50 - 600,600
CLS GetSysColor(15)
Usefont "MS Sans Serif",15,0,0,0,0
setdialogfont 1
Fensterelemente gestalten
ipinput%=Create("MultiEdit",%HWnd,"",10,50,570,-200)
btn%=Create("Button",%HWnd,"Überprüfen",250,260,100,30)
ipoutput%=Create("MultiEdit",%HWnd,"",10,320,570,-200)
statusbar%=create("statuswindow",%hWnd,"Bitte geben sie die IPs ein die überprüft werden sollen.")
Infotexte eingeben
text1%=create("text",%hWnd,"Geben sie hier bitte die IPs durch Absätze getrennt ein:",50,25,400,20)
text2%=create("text",%hWnd,"Hier sind die Ergebnisse:",50,295,200,20)

WhileNot exit%

    waitinput
    case %key=2 : break

    If clicked(btn%)

        clear outgesamt$
        settext ipoutput%,""
        ipline%=GetLineCount(ipinput%)
        curline%=0
        settext statusbar%,"Verbleibend: "+str$(ipline%)

        While ipline%

            ip$=GetLine$(ipinput%,curline%)
            ping ip$

            If ping%=1

                outtxt$=ip$+"		-	Erreichbar
                "

            else

                outtxt$=ip$+"		-	Nicht Erreichbar
                "

            EndIf

            outgesamt$=outgesamt$+outtxt$
            settext ipoutput%,outgesamt$
            inc curline%
            dec ipline%
            settext statusbar%,"Verbleibend: "+str$(ipline%)

        EndWhile

        settext statusbar%,"Vorgang abgeschlossen"
        settext ipinput%,"Vorgang abgeschlossen"

    EndIf

EndWhile


8 kB
Kurzbeschreibung: Sieht doof aus
Hochgeladen:16.08.2008
Ladeanzahl174
Herunterladen
 
16.08.2008  
 




Manfred
Barei
Hallo Stefan,

Du kannst dir hier die Version 7.6a von Profan herunterladen, ist jetzt Freeware. [...] 

Gruß
Manfred
 
Zu wenig Wissen ist gefärlich, zu viel auch.(XProfan X4) | Win 10 Pro 64 | Win7 Ultimate 32/64 | AMD FX-8320, 16GB, GeForce GT 630 |
16.08.2008  
 



Einen String auf eine Minimallänge bringen ohne Schleife geht per len und mkstr$
KompilierenMarkierenSeparieren
s$=mkstr$("-",12-len(s$))+s$

Tip 1: Vermeide interpretierte Schleifen wenn möglich unter Zuhilfenahme nativer Funktionen für mehr Performance.
 
16.08.2008  
 



 
- Seite 3 -



Thomas
Freier
oder ipoutput% als Listbox mit Tab oder als Listbox (Listview). Die Beispiele hier suchen oder bei Gerhard Putschalka . Lauffähig ab Profan 6.6 .
 
Gruß Thomas
Windows XP SP2, XProfan X2
17.08.2008  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

16.013 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