Warte auf den Start des Executable...

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Eckhard.S
Beiträge: 136
Registriert: 22.07.2006 17:19
Wohnort: Meschede/Sauerland

Warte auf den Start des Executable...

Beitrag von Eckhard.S »

Ich habe ein seltsames Verhalten mit zwei Debugs und weiß nicht, wo der Fehler liegt.
Der folgende Code geht bei mir und es wird der Debug der vorletzen Zeile ausgegeben.

Wenn man nun die letzten Zeile aktiviert und die vorletzte Zeile auskommetiert, geht es auch und man bekommt den Debug der letzten Zeile.

Wenn man aber beide Zeilen aktiviert, dann bleibt PB stehen mit der Meldung: "Warte auf den Start des Executable..."
und ich muss das Programm gewaltsam beenden.


Code: Alles auswählen

Global Dim sortiercode(256)       

Global sortierung$=               " !"+Chr(34)+"#$%&()*,./:;?@[\]^_`{|}~´+<=>§°0123456789"
sortierung$=sortierung$ + "aAáÁäÄbBcCdDeEéÉèÈêÊfFgGhHiIjJkKlLmMnNoOöÖpPqQrRsSßtTuUüÜvVwWxXyYzZ'-"
For i = 1 To Len(sortierung$)
sortiercode(Asc(Mid(sortierung$,i,1))) = i + 31  ; 31 dazu, damit es druckbare Zeichen werden 
Next


Procedure.s ReplaceStrings(String$, StringsToFind$, StringsToReplace$, Separator$=";") 
  Protected n.l 
  For n=1 To CountString(StringsToFind$, Separator$)+1 
    String$=ReplaceString(String$, StringField(StringsToFind$, n, Separator$), StringField(StringsToReplace$, n, Separator$)) 
  Next 
  ProcedureReturn String$ 
EndProcedure 

Procedure Excelstringvergleich (string1.s,string2.s) ; wird von Excelvergleich aufgerufen
vergleichsergebnis=0
string1konvertiert$=""   ; 
string2konvertiert$=""

For scanbuchstabe = 1 To Len(string1.s)
string1konvertiert$=string1konvertiert$ + Chr(sortiercode(Asc(Mid(string1.s,scanbuchstabe,1)))) 
Next

For scanbuchstabe = 1 To Len(string2.s)
string2konvertiert$=string2konvertiert$ + Chr(sortiercode(Asc(Mid(string2.s,scanbuchstabe,1)))) 
Next
;Debug string1konvertiert$
;Debug string2konvertiert$

If string1konvertiert$ < string2konvertiert$ : vergleichsergebnis = -1 : EndIf
If string1konvertiert$ > string2konvertiert$ : vergleichsergebnis =  1 : EndIf
ProcedureReturn vergleichsergebnis
EndProcedure

Procedure Excelvergleich (string1.s,string2.s)

string1_ohnebindestrich$ = ReplaceString(string1.s, "-", "")
string2_ohnebindestrich$ = ReplaceString(string2.s, "-", "")

string1_ohnebindestrich_gross_egal$ = LCase(string1_ohnebindestrich$)
string2_ohnebindestrich_gross_egal$ = LCase(string2_ohnebindestrich$)

string1_ohnebindestrich_gross_egal_umlaute_weg$ = LCase(string1_ohnebindestrich$)
string2_ohnebindestrich_gross_egal_umlaute_weg$ = LCase(string2_ohnebindestrich$)


excelvergleichswert = Excelstringvergleich (string1_ohnebindestrich_gross_egal$,string2_ohnebindestrich_gross_egal$)

If excelvergleichswert = 0

    Debug "Prüfen"
    excelvergleichswert = Excelstringvergleich (string1_ohnebindestrich$,string2_ohnebindestrich$)
    If excelvergleichswert = 0
       Debug "Prüfen"
       endergebnis = Excelstringvergleich (string1.s,string2.s)
       
    
    
    Else ; fertig
    endergebnis = excelvergleichswert
    EndIf

Else ; fertig
endergebnis = excelvergleichswert
EndIf

ProcedureReturn endergebnis

EndProcedure



Eins$ = "häusTür"
Zwei$ = "HautTür"


Debug Excelvergleich (Eins$,Zwei$)           ; geht alleine 
;Debug ReplaceStrings(Eins$, "ä;á", "a;a")    ; geht auch alleine, wenn anderer Debug auskommentiert ist
                                               ;wenn beide Debugs aktiviert sind, gibt es
                                               ;" Warte auf den Start des Executable..." 
 
Viele Grüße aus dem Sauerland
Eckhard

PureBasic 4.0 Vollversion, WinXP
Make a better world :D
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Debugger-Ausgabe hat geschrieben:1
hausTür
Funktioniert einwandfrei. Den Source hab ich mir aber nicht so genau
angesehen, zu unübersichtlich formatiert.

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Frogger
Beiträge: 425
Registriert: 14.03.2006 19:27
Kontaktdaten:

Beitrag von Frogger »

Jop bei mir läufts auch normal.
[PB4.20]
Benutzeravatar
Eckhard.S
Beiträge: 136
Registriert: 22.07.2006 17:19
Wohnort: Meschede/Sauerland

Beitrag von Eckhard.S »

Danke für die Info!

Scheint mit meinem System zu tun haben, vielleicht irgendein Timingproblem?
Bei mir geht es jetzt auch, wenn ich noch die Zeilen

Code: Alles auswählen

End
MessageRequester("Info", "Hallo", #MB_ICONASTERISK)
anhänge, was ziemlich idiotisch ist, weil ja da nichts passiert.
Na wenigsten habe ich vorerst eine Lösung.
Viele Grüße aus dem Sauerland
Eckhard

PureBasic 4.0 Vollversion, WinXP
Make a better world :D
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Ich glaube, ich wei, was du meinst... nach häufigem (Test-)Kompilieren bleibt das Fenster "kompilierung läuft..." offen, aber es passiert nichts, ich muss dann auch immre alles gewaltsam beenden.

Warum das so ist, weiß ich leider nicht. Bei mir taucht dieses Problem jedoch mit den verschiedensten Codes auf (es ist also nicht irgendeine befehlskonstellation schuld). Naja ja nicht so schwerwiegend, dass sofort dringend was getan werden müsste.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

AND51 hat geschrieben:Ich glaube, ich wei, was du meinst... nach häufigem
(Test-)Kompilieren bleibt das Fenster "kompilierung läuft..." offen, aber es
passiert nichts, ich muss dann auch immre alles gewaltsam beenden.
scheint aber auch immer nur im Zusammenhang mit der PB-IDE zu stehen.
Bei jaPBe ist mir das noch nie passiert (und glaubt mir: Ich mache wirklich
viele Testkompilate ;-) )

Grüße ... Kiffi
a²+b²=mc²
Antworten