Logisches Problem

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Knusperkeks, 22. Dezember 2006 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 22. Dezember 2006
    ICh hab gerade ein logisches denk-Problem:

    Also ich versuche mir aus ner bestimmten liste an lins z.b. rapidsharelinks nen Programm zu basteln das die mir in Html-Code ausgibt:

    Also ich habe z.b. links:

    Code:
    http://rapidshare.com/files/1337/0815.part1.rar.html
    http://rapidshare.com/files/1337/0815.part2.rar.html
    http://rapidshare.com/files/1337/0815.part3.rar.html
    http://rapidshare.com/files/1337/0815_1.part1.rar.html
    http://rapidshare.com/files/1337/0815_1.part2.rar.html
    http://rapidshare.com/files/1337/0815_1.part3.rar.html
    http://rapidshare.com/files/1337/0815_1.part4.rar.html
    http://rapidshare.com/files/1337/0815_1.part5.rar.html
    http://rapidshare.com/files/1337/0815_2.part1.rar.html
    http://rapidshare.com/files/1337/0815_2.part2.rar.html
    http://rapidshare.com/files/1337/0815_2.part3.rar.html
    http://rapidshare.com/files/1337/0815_2.part4.rar.html
    http://rapidshare.com/files/1337/0815_3.part1.rar.html
    http://rapidshare.com/files/1337/0815_3.part2.rar.html
    Und mirror links:

    Code:
    http://netload.in/files/133701
    http://netload.in/files/133702
    http://netload.in/files/133703
    http://netload.in/files/133711
    http://netload.in/files/133712
    http://netload.in/files/133713
    http://netload.in/files/133714
    http://netload.in/files/133715
    http://netload.in/files/133721
    http://netload.in/files/133722
    http://netload.in/files/133723
    http://netload.in/files/133724
    http://netload.in/files/133731
    http://netload.in/files/133732
    und die passende namensliste:
    Code:
    0815
    0815_1
    0815_2
    0815_3
    nun wollte ich haben das mein Programm automatisch erkennt wann ein neuer upp anfängt das passiert an der Endung der rar Dateien (sprich "part1") das ich so gelöst habe:

    Code:
    Public Function datenverarbeiten(daten As String)
    Dim anzahl As Long
    vbcrlfsplit = Split(daten, vbCrLf)
    
    For i = 1 To UBound(vbcrlfsplit)
     dotsplit = Split(vbcrlfsplit(i), ".")
     If (vbcrlfsplit(i) <> "") Then
     If (dotsplit(UBound(dotsplit) - 2) = "part1") Then
     
     generatecode anzahl, daten
     End If
     anzahl = anzahl + 1
     End If
    Next i
    End Function
    Nun stellt sich da schon mein erstes problem das sich anzahl ja immer wieder überschreibt?
    Ich hab schon überlegt ob ich die anzahl in nen array schreibe aber das wollte nicht klappen! Wenn mir das einer schon mal erklären könnte dann wär ich schon mal dankbar!

    dann gehts weiter....

    dann hab ich versucht das ganze für den Html-Code aufzubereiten und dabei ist das rausgekommen:

    Code:
    Function generatecode(ByRef count As Long, arrLinks1() As String)
    Dim namencount As Long
    
    arrLinks1 = Split(daten2, vbCrLf)
    arrFilenames = Split(Text2, vbCrLf)
    arrLinks2 = Split(Text7, vbCrLf)
    arrLinks3 = Split(Text11, vbCrLf)
    
    
     For j = 0 To count
     Speicher = Speicher & _
     "<strong>" & arrFilenames(namencount) & "</strong>" & vbCrLf & _
     "<strong>Download:</strong> "
     
     For k = 0 To count
     If arrLinks1(k) <> "" Then
     Speicher = Speicher & "<a href=""" & arrLinks1(templng1) & """ target=""_blank"">Part " & k + 1 & "</a> "
     End If
     Next k
     
     If Text7.Text <> "" Then
     Speicher = Speicher & vbCrLf & "<strong>Mirror #1:</strong> "
     
     For l = 0 To count
     If arrLinks2(l) <> "" Then
     Speicher = Speicher & "<a href=""" & arrLinks2(templng2) & """ target=""_blank"">Part " & l + 1 & "</a> "
     End If
     Next l
     End If
     Speicher = Speicher & vbCrLf & vbCrLf
     Next j
     
     namencount = namencount + 1
     
     Text8.Text = Text8.Text & Speicher
    End Function
    das sollte dann dabei rauskommen:
    Code:
    <strong>0815</strong>
    <strong>Download:</strong>
    <a href="http://rapidshare.com/files/1337/0815.part1.rar.html" target="_blank">Part 1</a>
    <a href="http://rapidshare.com/files/1337/0815.part2.rar.html" target="_blank">Part 2</a>
    <a href="http://rapidshare.com/files/1337/0815.part3.rar.html" target="_blank">Part 3</a>
    | rapidshare.com 100MB Parts
    <strong>Mirror #1:</strong>
    <a href="http://netload.in/files/133701" target="_blank">Part 1</a>
    <a href="http://netload.in/files/133702" target="_blank">Part 2</a>
    <a href="http://netload.in/files/133703" target="_blank">Part 3</a>
    | rapidshare.de 100 MB Parts
    
    
    ..... (und der rest halt)
    aber imo macht er gar nix er macht nur das der erste link ( http://rapidshare.com/files/1337/0815.part1.rar.html ) immer unter 0815 steht und als alles, auch als mirrorlink usw

    ich blick gerade durch gar nix mehr durch und wollte frag wie ich das so umsetz kann wie ich das möchte

    der logische Ansatz reicht schon

    Danke schonmal

    Knusperkeks
     
  2. 22. Dezember 2006
    AW: Logisches Problem

    Konnte mir jetzt nicht die Zeit nehmen um alles zu studieren. was mir aber auffält ist, dass Du zweimal die Variable count verwendest um durch verschiedene Arrays zu gehen. Sind die Arrays immer gleich groß ?

    Falls es das zufällig war, gut. Falls nicht könntest Du Deine Klasse posten, dann seh ich mir das mal an.

    BG MaxDev
     
  3. 22. Dezember 2006
    AW: Logisches Problem

    Klassen kenn ich nur aus der schule WO meinst du das ich count doppelt benutze, müsste alles absicht sein außer an ganz doofen stellen da sollte es keine absicht sein

    Knusperkeks
     
  4. 22. Dezember 2006
    AW: Logisches Problem

    Hab des mal eben in Java gecodet weil ich VB net kann
    Kommentare sollten es dir aber leicht ermöglichen das in VB zu machen..
    Code:
     String links = "http://rapidshare.com/files/1337/0815.part1.rar.html\r\n"+
     "http://rapidshare.com/files/1337/0815.part2.rar.html\r\n"+
     "http://rapidshare.com/files/1337/0815.part3.rar.html\r\n" +
     "http://rapidshare.com/files/1337/0815_1.part1.rar.html\r\n" +
     "http://rapidshare.com/files/1337/0815_1.part2.rar.html\r\n" +
     "http://rapidshare.com/files/1337/0815_1.part3.rar.html\r\n" +
     "http://rapidshare.com/files/1337/0815_1.part4.rar.html\r\n" +
     "http://rapidshare.com/files/1337/0815_1.part5.rar.html\r\n" +
     "http://rapidshare.com/files/1337/0815_2.part1.rar.html\r\n" +
     "http://rapidshare.com/files/1337/0815_2.part2.rar.html\r\n" +
     "http://rapidshare.com/files/1337/0815_2.part3.rar.html\r\n" +
     "http://rapidshare.com/files/1337/0815_2.part4.rar.html\r\n" +
     "http://rapidshare.com/files/1337/0815_3.part1.rar.html\r\n" +
     "http://rapidshare.com/files/1337/0815_3.part2.rar.html\r\n";
    
     String mirrors = "http://netload.in/files/133701\r\n"+
     "http://netload.in/files/133702\r\n" +
     "http://netload.in/files/133703\r\n" +
     "http://netload.in/files/133711\r\n" +
     "http://netload.in/files/133712\r\n" +
     "http://netload.in/files/133713\r\n" +
     "http://netload.in/files/133714\r\n" +
     "http://netload.in/files/133715\r\n" +
     "http://netload.in/files/133721\r\n" +
     "http://netload.in/files/133722\r\n" +
     "http://netload.in/files/133723\r\n" +
     "http://netload.in/files/133724\r\n" +
     "http://netload.in/files/133731\r\n" +
     "http://netload.in/files/133732\r\n";
    
     String names = "0815\r\n" +
     "0815_1\r\n" +
     "0815_2\r\n" +
     "0815_3\r\n";
    
     String[] linkArray;
     String[] mirrorArray;
     String[] nameArray;
     
     public LinkParse() 
     {
     //Die einzelnen Zeilen der Strings (bei VB bei vbCrLf teilen) in Arrays packen
     linkArray = links.split( "\r\n" );
     mirrorArray = mirrors.split( "\r\n" );
     nameArray = names.split( "\r\n" );
     
     //Zwei Strings anlegen
     String finalString = new String();
     String mirrorBuf = new String();
     
     //Eine Zaehlvariable fuer die Namen anlegen
     int actualName = 0;
     
     //Einfache Schleife von 0 bis Anzahl der Links
     for ( int i = 0; i < linkArray.length; i++ ) 
     {
     //Wenn ein neuer Download ist (part1 enthalten) und es der erste Links ist:
     //(Ist wichtig, da dann kein "| rapidshare.com 100MB Parts" davorgehaengt wird
     if( linkArray[i].contains( "part1" ) && ( i == 0 ) )
     {
     //Strings entsprechend fuellen
     finalString += "<strong>" + nameArray[ actualName ] + "</strong>\r\n";
     finalString += "<strong>Download:</strong>\r\n";
     
     //Rolle von mirrorBuf: Erst parallel zu Hauptlinks Mirrorlinks erzeugen
     //um eine zweite Schleife und sehr viele Komplitkationen zu vermeiden ;)
     mirrorBuf += "<strong>Mirror #1:</strong>\r\n";
     }
     
     //Wenn ein neuer D'load (s.o.)
     else if( linkArray[i].contains( "part1" ) )
     {
     //Naechten Namen benutzen
     actualName++;
     
     //EndTags hinzugfuegen
     finalString += "| rapidshare.com 100MB Parts\r\n";
     mirrorBuf += "| netload.in 100 MB Parts\r\n";
     
     //Die Mirror Links an Hauptlinks anhaengen
     finalString += mirrorBuf;
     
     //Header erzeugen
     finalString += "<strong>" + nameArray[ actualName ] + "</strong>\r\n";
     finalString += "<strong>Download:</strong>\r\n";
     mirrorBuf = "<strong>Mirror #1:</strong>\r\n";
     }
    
     //Die eigentlichen Links:
     //Namen des Parts ermitteln
     String part = getPart( linkArray[i] );
     //Anhaengen
     finalString += "<a href=\"" + linkArray[i] + "\" target=\"_blank\">"+ part +"</a>\r\n";
     mirrorBuf += "<a href=\"" + mirrorArray[i] + "\" target=\"_blank\">"+ part +"</a>\r\n";
     }
     
     //Nochmal Footer anhaengen (fuer letzte Links)
     finalString += "| rapidshare.com 100MB Parts\r\n";
     mirrorBuf += "| netload.in 100 MB Parts\r\n";
     finalString += mirrorBuf;
     
     //String ausgeben
     System.out.println( finalString );
     }
     
     //Ermitteln des Parts
     public String getPart( String s )
     {
     // s = http://rapidshare.com/files/1337/0815_3.part2.rar.html
     // last = 0815_3.part2.rar.html
     // return > part2
     String last = s.substring( s.lastIndexOf("/") );
     return last.split( "[.]" )[1]; 
     }
    Ausgabe:
    Code:
    <strong>0815</strong>
    <strong>Download:</strong>
    <a href="http://rapidshare.com/files/1337/0815.part1.rar.html" target="_blank">part1</a>
    <a href="http://rapidshare.com/files/1337/0815.part2.rar.html" target="_blank">part2</a>
    <a href="http://rapidshare.com/files/1337/0815.part3.rar.html" target="_blank">part3</a>
    | rapidshare.com 100MB Parts
    <strong>Mirror #1:</strong>
    <a href="http://netload.in/files/133701" target="_blank">part1</a>
    <a href="http://netload.in/files/133702" target="_blank">part2</a>
    <a href="http://netload.in/files/133703" target="_blank">part3</a>
    | netload.in 100 MB Parts
    <strong>0815_1</strong>
    <strong>Download:</strong>
    <a href="http://rapidshare.com/files/1337/0815_1.part1.rar.html" target="_blank">part1</a>
    <a href="http://rapidshare.com/files/1337/0815_1.part2.rar.html" target="_blank">part2</a>
    <a href="http://rapidshare.com/files/1337/0815_1.part3.rar.html" target="_blank">part3</a>
    <a href="http://rapidshare.com/files/1337/0815_1.part4.rar.html" target="_blank">part4</a>
    <a href="http://rapidshare.com/files/1337/0815_1.part5.rar.html" target="_blank">part5</a>
    | rapidshare.com 100MB Parts
    <strong>Mirror #1:</strong>
    <a href="http://netload.in/files/133711" target="_blank">part1</a>
    <a href="http://netload.in/files/133712" target="_blank">part2</a>
    <a href="http://netload.in/files/133713" target="_blank">part3</a>
    <a href="http://netload.in/files/133714" target="_blank">part4</a>
    <a href="http://netload.in/files/133715" target="_blank">part5</a>
    | netload.in 100 MB Parts
    <strong>0815_2</strong>
    <strong>Download:</strong>
    <a href="http://rapidshare.com/files/1337/0815_2.part1.rar.html" target="_blank">part1</a>
    <a href="http://rapidshare.com/files/1337/0815_2.part2.rar.html" target="_blank">part2</a>
    <a href="http://rapidshare.com/files/1337/0815_2.part3.rar.html" target="_blank">part3</a>
    <a href="http://rapidshare.com/files/1337/0815_2.part4.rar.html" target="_blank">part4</a>
    | rapidshare.com 100MB Parts
    <strong>Mirror #1:</strong>
    <a href="http://netload.in/files/133721" target="_blank">part1</a>
    <a href="http://netload.in/files/133722" target="_blank">part2</a>
    <a href="http://netload.in/files/133723" target="_blank">part3</a>
    <a href="http://netload.in/files/133724" target="_blank">part4</a>
    | netload.in 100 MB Parts
    <strong>0815_3</strong>
    <strong>Download:</strong>
    <a href="http://rapidshare.com/files/1337/0815_3.part1.rar.html" target="_blank">part1</a>
    <a href="http://rapidshare.com/files/1337/0815_3.part2.rar.html" target="_blank">part2</a>
    | rapidshare.com 100MB Parts
    <strong>Mirror #1:</strong>
    <a href="http://netload.in/files/133731" target="_blank">part1</a>
    <a href="http://netload.in/files/133732" target="_blank">part2</a>
    | netload.in 100 MB Parts
    Nur zum Verständnis: In Java Stringverkettung mit + anstatt mit &!
    Und: \r\n = vbCrLf = Zeilenumbruch

    Gruß
    MM
     
  5. 22. Dezember 2006
    AW: Logisches Problem

    Dank echt geil, ich versuch das mal umzusetzen

    €dit sagt: Habs geschafft 1000000 dank

    Knusperkeks
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.