C++ ListBox auslesen für Browser



  • Hey Hey Leuts,

    ich hätte mal ein Frage, bin schon verzweifelt und komme nicht mehr weiter:

    hier zuerst den code:

    AnsiString pfad ="C:\\Programme\\Mozilla Firefox\\Firefox.exe";
    AnsiString de= "http://www.das-ist-meine-ID="+lbZahlen->Items->Text;
    ShellExecute(0,"open",pfad.c_str(),de.c_str(),NULL,SW_SHOWNORMAL);
    

    Wenn ich das Programm starte und auf mein Botton Klicke erstellt er mir zunächst Zufallszahlen in der ListBox anschließend öffnet er mir den Browser und erstellt mehrere Tabs in einem Tab steht dan z.b Folgendes http://www.das-ist-meine-ID=1

    JEDOCH in den anderen Tabs erstellt er mir nur die Zahlen die in der Listbox sind OHNE DEN URL DAVOR

    kann mir jemand behilflich sein?



  • erstellst du die Tabs in einer Schleife? die dabei die einzelnen Items der ListBox verwendet? Oder hast du nur den Quellcode so wie du ihn da gepostet hast?
    Hast du schonmal überlegt was in lbZahlen->Items->Text steht?



  • Zunächst vielen Dank für dein Beitrag,,

    also :

    void __fastcall TForm1::btnErzeugenClick(TObject *Sender)
    {
      maximum = StrToInt(edtMenge->Text);
      if (maximum>MAX-1)
    	ShowMessage("Anzahl zu hoch");
      else
      {
    	lbZahlen->Clear();
    	randomize();
    	lbZahlen->Visible=cbZahlenAnzeigen->Checked;
    
    	for (int x=0; x<maximum; x++) {
    	  feld[x] = random(maximum);
    	  lbZahlen->Items->Add(IntToStr(feld[x]));
    	}
    	lbZahlen->Visible=true;
    	lblBubbleSort->Caption ="";
    	lblBubbleSortOptimiert->Caption ="";
    	lblShakerSort->Caption = "";
    	lblTauschSort->Caption = "";
    
    	lblQuickSort->Caption = "";
    	lblQuickSortCPP->Caption = "";
    	lbVerlauf->Items->Add("Zahlen erzeugen");
    	}
    
    AnsiString pfad ="C:\\Programme\\Mozilla Firefox\\Firefox.exe";
    AnsiString de= "http://www.das-ist-meine-ID="+lbZahlen->Items->Text+id;
    ShellExecute(0,"open",pfad.c_str(),de.c_str(),NULL,SW_SHOWNORMAL);
    		}
    

    Es werden zunächst nur Zufallszahlen in der Listbox ausgegeben, anschließend werden diese dann im Browser geöffnet und die Tabs öffnen sich ebenso automatisch jedoch die restlichen AUßER ein Tab besitzen den URL nicht



  • was steht denn nun in lbZahlen->Items->Text bzw. in de? und was ist id?

    also ich versuchs mal zu erklären:
    in lbZahlen->Items->Text steht z.B. folgendes "1\r\n4\r\n6\r\n7"
    diese Zeichenkette machst du einfach an deinen Link ran, also:
    "http://www.das-ist-meine-ID=1\r\n4\r\n6\r\n7"
    und wie man sieht ist der Link nur einmal bei der ersten Zahl vertreten und nicht bei den anderen

    Lösung:
    du mußt eine Schleife durch die Items der ListBox machen und zu jedem Wert den Link dazusetzen, siehe BCB-Hilfe zu TListBox, TStrings und Count, wenn du dann ungefähr folgendes in de stehn hast sollte es funktionieren:
    "http://www.das-ist-meine-ID=1\r\nhttp://www.das-ist-meine-ID=4\r\nhttp://www.das-ist-meine-ID=6\r\nhttp://www.das-ist-meine-ID=7"



  • Danke für deien Hilfe werde mal sofort testen das mit +id war ein versehen



  • Wie soll dies den funktionieren wenn ich ein Zufalls wert bekomme?

    dann kann ich doch nicht das machen...
    http://www.das-ist-meine-ID=1\r\n4\r\n6\r\n7

    den die Zahlen in der ListBox sind zufalls werte die Per Klick ausgegeben werde



  • Zum besserverstehen ein paar Screenshots
    [url]
    http://i33.tinypic.com/2wmklzs.jpg[/url]

    Hier gibt man im Texfeld eine Belibige Anzahl an Anschließen gib das Programm zufallszahlen aus z.b.

    Eingabe 5
    Ausgabe 5 Belibige Zahlen 1,0,6,3,4

    [url]
    http://i36.tinypic.com/2d120bs.jpg[/url]

    hier öffnet er dan den Browser und wie man sieht nur ein Link mit der entsprechenden Zahl
    im anderen Fenster gibt er nur die zahl aus



  • es ist völlig irrelevant ob das Zufallszahlen oder feste Werte sind, du mußt eine Schleife über die Items der ListBox machen, also z.B. (Achtung kein orginal Quellcode):

    String de = "";
    String url = "http://www.das-ist-meine-ID=";
    for (int index = 0; index < Anzahl_der_Eintraege_in_der_Liste; index++) 
      {
      de = de + url + Item[Index]_der_liste + "\r\n";
      }
    ShellExecute(0,"open",pfad.c_str(),de.c_str(),NULL,SW_SHOWNORMAL);
    

    die Werte für Anzahl_der_Eintraege_in_der_Liste und Item[Index]_der_liste kannste dir ja selbst erarbeiten 😉

    [Edit] es ist auch völlig unwichtig wieviele Werte drin stehn...



  • hmm bekomms irgendwie nicht hin

    naja egal ich gibs auf :S



  • schade, machst du das bei allem was nicht gleich geht so?

    was funktioniert denn nicht? was hast du versucht? Lösungsansätze?



  • Wie Sie sicherlich mitbekommen haben bin ich recht Neu im programmieren
    zudem kommt das Ihren Code nicht Recht folgen kann

    String de = "";
    String url = "http://www.das-ist-meine-ID=";
    for (int index = 0; index < Anzahl_der_Eintraege_in_der_Liste; index++)
    {
    de = de + url + Item[Index]_der_liste + "\r\n";
    }
    ShellExecute(0,"open",pfad.c_str(),de.c_str(),NULL,SW_SHOWNORMAL);

    wie tu ich den index deklarieren?
    und womit bezwecken Sie String de??

    Und \r\n haben wir noch nicht mal in der Schule durchgenommen

    und in der for Schleife ( Anzahl_der_Eintraege_in_der_Liste ) <<< was sollte ich den da eintragen??Wenn ich nicht weis wie viele Einträge ich besitze

    ich gebe recht schnell auf das mein Nachteil 😞


Log in to reply