Sehr schwerer Schleifensalat

Fragen und Bugreports zur PureBasic 4.0-Beta.
Slut-Hunter
Beiträge: 40
Registriert: 05.06.2006 12:38

Sehr schwerer Schleifensalat

Beitrag von Slut-Hunter »

Hi

Ich wollte nenn Proxy Checker machen, der mit mehren Bots arbeitet.

Mehr Bots heißt auch das ich mit Prozeduren und Threats arbeiten muss.

Und auch noch nenn Timeout irgendwie basteln muss, aber das hat nicht priorität.

Ein anderes Prob habt Priorität.

Ich mach jetzt schon ewig dran rum, und weiss einfach nicht mehr weiter.

Hab schon zig Schlangen probiert, und möglichkeiten aber es will nicht.

Es geht darum, z.B hab ich ne Liste mit 4000 Proxys.

Und will sie mit 10 Bots gleichzeitig abarbeiten lassen.

Die Liste muss von oben nach unten abgearbeitet werden, kein Bot soll den Proxy von ndem anderen Bot testen, also erst anständige Verteilung.

Aber ich kriege das einfach nicht hin :(

hab jetzt mal hier ein Testsobjekt gebastelt.

Das wo die Bots nur die Proxys in die Gadget aufteilen sollen.

Und ich hab einfach keine Ahnung was ich noch machen kann, damit es sonst.

Code: Alles auswählen

Global NewList ProxyList.s()

Procedure Bot1 (index)

AddGadgetItem(778, -1, ProxyList.s())
;Ergebnis$ = GetGadgetItemText(41, index, Spalte)

;AddGadgetItem(778, -1, Ergebnis$)

EndProcedure

;Procedure Bot2 (index)

;AddGadgetItem(778, -1, ProxyList.s())
;EndProcedure








OpenWindow(0,0,0,800,700,"Bla",#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)

  InitNetwork()
 
  CreateGadgetList(WindowID(0))

  PanelGadget(1, 0, 0, 800, 700)
  AddGadgetItem (1,-1,"Panel 1")
  
  ButtonGadget(10,20,20,100,20,"TEST")
  ButtonGadget(11,120,20,100,20,"Open Proxy-List")
 
  ListViewGadget(41, 390, 60, 370, 310);IP
  ListViewGadget(42, 390, 380, 370, 290);PORT
  
  ListViewGadget(778, 10,60, 370, 610);RESULT
 
 
 
  
  
  
  Repeat
   
     WaitWindowEvent = WaitWindowEvent()     
     EventGadget     = EventGadget()
     
     If WaitWindowEvent = #PB_Event_Gadget
     
     
     
     
     
      If EventGadget = 10

      max = CountList(ProxyList.s()) 
      
      FirstElement(ProxyList.s())
      
      ;index = ListIndex(ProxyList.s())

      Repeat      
      
      xxxx = xxxx +1
           
      CreateThread(@Bot1(), index)

      Debug index = ListIndex(ProxyList.s())
      index = NextElement(ProxyList.s())
       
              
      Until xxxx = max
      
      EndIf
     
     
     
     
     
     
        If EventGadget = 11
        
        
        Tomate$ = OpenFileRequester("SELECT PROXY-LIST", "C:\*.txt", "TXT Files | *.txt", 0)
        DateiHandle.l = OpenFile(59, Tomate$)  
        
        If DateiHandle <> 0 
          Dateilaenge = Lof(59)
          *MemoryID = AllocateMemory(Dateilaenge + 3) 
          ReadData(59,*MemoryID, Dateilaenge) 
          CloseFile(59) 
          
          
          FirstElement(ProxyList.s())
          
          
          Temp2.s = "" 
          For i = 0 To Dateilaenge - 1 
            Temp.b = PeekB(*MemoryID + i) 
            If Temp = 0 
              Break 
            Else 
              If Temp = #CR 
                i + 1 
                Temp = PeekB(*MemoryID + i) 
                
                If Temp = #LF 
                  GetProxyList$ = Temp2
                  
                  FuckForProxy = FindString(GetProxyList$, ":", 1)
                  Proxys$ = Left(GetProxyList$, FuckForProxy-1)

                  jaja = Len(GetProxyList$)
                  
                  Port$ = Right(GetProxyList$, jaja - FuckForProxy)
                  
                  AddGadgetItem(41, -1, Proxys$) 
                  AddGadgetItem(42, -1, Port$) 
                  
           AddElement(ProxyList())
           ProxyList() = Proxys$
                 
     
           
                Temp2 = ""
                EndIf 
              Else 
                Temp2 + Chr(Temp) 
              EndIf 
            EndIf
            
          Next
        EndIf
        
        FreeMemory(*MemoryID)
        
      EndIf
       
       
       
           
   EndIf
   
   
   
Until WaitWindowEvent = #PB_Event_CloseWindow

End
Hatte schon Tips von einem der das besser kann, aber hat so aber trotzdem nciht geklappt. (hab schon zig mal den Code umgestellt.)
irgendwie erstmal das erste element der liste anwählen: firstelement()
dann die schleife: repeat
dann, was du machen willst: proxy = liste()
createthread(der_da, proxy$)
dann umschalten: nextelement()
endbedingung, damit du aus der schleife rauskommst: until letztes element erreicht (da musst du mal in de rhilfe nach entsprechenden befehlen suchen)


Hoffe einer von euch kann mir da helfen, werde noch wahnsinnig damit :(
Commander Data ist ein Android, der sich dadurch auszeichnet, mit seiner 1-Bit-Speicherkapazität jede einstellige Addition innerhalb von drei Stunden garantiert falsch lösen zu können
Slut-Hunter
Beiträge: 40
Registriert: 05.06.2006 12:38

Beitrag von Slut-Hunter »

Entweder zu schwer, oder mir will keiner helfen.

Auch gut, mach ich den Mist halt komplett allein. :evil:
Commander Data ist ein Android, der sich dadurch auszeichnet, mit seiner 1-Bit-Speicherkapazität jede einstellige Addition innerhalb von drei Stunden garantiert falsch lösen zu können
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

> Entweder zu schwer, oder mir will keiner helfen.

vielleicht liegt's daran, dass Dein schwerer Schleifensalat genauso wie einer
aussieht. Formatiere Deinen Code mal sauber. Unter Umständen findet sich
dann jemand, der da durchblickt.

> Auch gut, mach ich den Mist halt komplett allein. :evil:

Einen Anspruch auf Hilfe hat man hier im Board nicht.

Grüße ... Kiffi
a²+b²=mc²
Slut-Hunter
Beiträge: 40
Registriert: 05.06.2006 12:38

Beitrag von Slut-Hunter »

Habs von jaPBe formatieren lassen, sitz da schon zu lange fest(ganz zu schweigen von den Bluescreens die der ganze Salat schon verursacht hat), um noch großartig den Code formatieren zu wollen.

Brauch nenn Anhaltspunkt, will ja kein completten Code.

Ich bin damit allein überfordert, hab schon zig Sachen probiert, und wenn ich nicht 100% festsitzen würde, hätte ich auch nicht um Hilfe gebeten.
Commander Data ist ein Android, der sich dadurch auszeichnet, mit seiner 1-Bit-Speicherkapazität jede einstellige Addition innerhalb von drei Stunden garantiert falsch lösen zu können
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

> Habs von jaPBe formatieren lassen,

Ctrl + A und Ctrl + Tab sollte auch für Dich machbar sein.

> sitz da schon zu lange fest(ganz zu schweigen von den Bluescreens die der
> ganze Salat schon verursacht hat), um noch großartig den Code
> formatieren zu wollen.

dann geh erst mal ein wenig spazieren oder radfahren. Das wirkt manchmal
Wunder.

Grüße ... Kiffi
a²+b²=mc²
Slut-Hunter
Beiträge: 40
Registriert: 05.06.2006 12:38

Beitrag von Slut-Hunter »

Kiffi hat geschrieben:> Habs von jaPBe formatieren lassen,

Ctrl + A und Ctrl + Tab sollte auch für Dich machbar sein.

> sitz da schon zu lange fest(ganz zu schweigen von den Bluescreens die der
> ganze Salat schon verursacht hat), um noch großartig den Code
> formatieren zu wollen.

dann geh erst mal ein wenig spazieren oder radfahren. Das wirkt manchmal
Wunder.

Grüße ... Kiffi
Anscheinend hast überlesen was ich geschrieben habe.
Habs von jaPBe formatieren lassen
Und wenn das jaPBe so formatiert, und PB 4 anscheinend keine Formatier Funktion hat.

Dann kannst dir so was sparen
Ctrl + A und Ctrl + Tab sollte auch für Dich machbar sein.
Denn Ctrl + A und Ctrl + Tab bringen gar nichts in PB4.

Ausser das man in ein anderen Quellcode im Editor umschaltet.
dann geh erst mal ein wenig spazieren oder radfahren. Das wirkt manchmal
Wunder.
Hat gar nichts gebracht, hab danach fast durchgehend 2 Tage an dem Ding rumgemacht, und jetzt läuft es.

Und jetzt häng ich schon wieder 2 Tage, und wie sollte es anders sein.

Am Timeout.(wie schon zig andere Leute)

Ich hab PB satt, in zig Versionen und Updates wurde nicht mal so ne banale Funktion/Parameter wie Timeout spendiert.

Selbst das uralte VB 6 hat das.

Und die WinAPI ist völliger Mist.

Sehe nicht ein, warum ich mich mit zig WinAPI Befehlen beschäftigen muss, nur damit wenigstens ne Verbindung zustande kommt, und ich nenn Timeout festlegen kann.

Da brauch ich das 10 Fache an Code.

Und deshalb steig ich auch um auf VB 6, und schreib mir damit nenn anständigen Proxy Checker.
Commander Data ist ein Android, der sich dadurch auszeichnet, mit seiner 1-Bit-Speicherkapazität jede einstellige Addition innerhalb von drei Stunden garantiert falsch lösen zu können
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

> Und deshalb steig ich auch um auf VB 6

wenn's schön macht...


> und schreib mir damit nenn anständigen Proxy Checker

wenn du nich programmieren kannst, isses reichlich banane, welche sprache du benutzt.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
AndyX
Beiträge: 1272
Registriert: 17.12.2004 20:10
Wohnort: Niederösterreich
Kontaktdaten:

Beitrag von AndyX »

genau, in VB muss man genauso WinAPI Funktionen benutzen.
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

> Denn Ctrl + A und Ctrl + Tab bringen gar nichts in PB4.

wo habe ich was von der PB-IDE geschrieben? Wenn Du so programmierst,
wie Du liest, dann wirste auch nicht mit VB6 glücklich.

> Und deshalb steig ich auch um auf VB 6

tu, was Du nicht lassen kannst.

Bis die Tage!
a²+b²=mc²
Slut-Hunter
Beiträge: 40
Registriert: 05.06.2006 12:38

Beitrag von Slut-Hunter »

Kaeru Gaman hat geschrieben:> Und deshalb steig ich auch um auf VB 6

wenn's schön macht...


> und schreib mir damit nenn anständigen Proxy Checker

wenn du nich programmieren kannst, isses reichlich banane, welche sprache du benutzt.
Ja du vollprofi, dann zeig mal wie du´s hinkriegst.

Labern kannst ja gut, aber mehr is nicht.

So muss ein Proxychecker aussehen, und der ist gewiss nicht in PB geproggt.

http://www.project2025.com/charon.php

Wenn das halbwegs synchron hinkriegst, dann reden wir weiter.

Ich habs schon so, nur der Timeout fehlt noch, den ein guter Kollege der seit ca 3 Jahren mit PB proggt, und 7 Jahre allegemein, auch nicht hinkriegt, bei mehreren Bots.

Ach übrigens.

Für VB6 gibts wenigstens anständige Bücher(Wälzer), in denen das fürn Timeout drinsteht.

So viel dazu.

Übrigens legt euch mal ne anständige sichere Board Software zu, daß lächerliche opensource phpBB zu Sploiten ist ein Witz.
Commander Data ist ein Android, der sich dadurch auszeichnet, mit seiner 1-Bit-Speicherkapazität jede einstellige Addition innerhalb von drei Stunden garantiert falsch lösen zu können
Gesperrt