Seite 1 von 1

Ein Kleines Problem mit ListIconGadget!

Verfasst: 27.03.2005 00:45
von FISCHAUGE
Und zwar
Ich will aus diesem ListIconGadget

Code: Alles auswählen

ListIconGadget(38,420,100,200,200,"MAP",115,#PB_ListIcon_MultiSelect|#PB_ListIcon_GridLines)
AddGadgetColumn(38,1,"MAPTYP",80)
AddGadgetItem(38,-1,"Southe France"+Chr(10)+"TDM/FFA")
AddGadgetItem(38,-1,"Destroyed Village"+Chr(10)+"TDM/FFA")
AddGadgetItem(38,-1,"Remagen"+Chr(10)+"TDM/FFA")
AddGadgetItem(38,-1,"The Cross Roads"+Chr(10)+"TDM/FFA")
AddGadgetItem(38,-1,"Snowy Park"+Chr(10)+"TDM/FFA")
AddGadgetItem(38,-1,"Stalingrad"+Chr(10)+"TDM/FFA")
AddGadgetItem(38,-1,"Algiers"+Chr(10)+"TDM/FFA")
AddGadgetItem(38,-1,"The Hunt"+Chr(10)+"OBJ")
AddGadgetItem(38,-1,"V2 Rocket"+Chr(10)+"OBJ")
AddGadgetItem(38,-1,"Omaha Beach"+Chr(10)+"OBJ")
AddGadgetItem(38,-1,"The Bridge"+Chr(10)+"OBJ")
Mit Hilfe von GetgadGetText abfrage welche Auswahl markiert wurde und diese dann in eine Datei schreiben! Wenn ich eines Auswähle klappt es wunderbar, sobald ich aber anfange 2 Titel aus der Liste zu Markieren mit [STRG] schreibt er sie nicht mehr in die Datei!


Code: Alles auswählen

WriteString("MAP")
If GetGadgetText(38) = "Southe France" 
WriteString (" " +Chr(34)+"dm/mohdm1"+Chr(34)) 
EndIf
If GetGadgetText(38) = "Destroyed Village" 
WriteString (" " +Chr(34)+"dm/mohdm2"+Chr(34)) 
EndIf
If GetGadgetText(38) = "Remagen" 
WriteString (" " +Chr(34)+"dm/mohdm3"+Chr(34)) 
EndIf
If GetGadgetText(38) = "The Cross Roads" 
WriteString (" " +Chr(34)+"dm/mohdm4"+Chr(34)) 
EndIf
If GetGadgetText(38) = "Snowy Park" 
WriteString (" " +Chr(34)+"dm/mohdm5"+Chr(34)) 
EndIf
If GetGadgetText(38) = "Stalingrad" 
WriteString (" " +Chr(34)+"dm/mohdm6"+Chr(34)) 
EndIf
If GetGadgetText(38) = "Algiers" 
WriteString (" " +Chr(34)+"dm/mohdm7"+Chr(34)) 
EndIf
If GetGadgetText(38) = "The Hunt" 
WriteString (" " +Chr(34)+"obj/obj_team1"+Chr(34)) 
EndIf
If GetGadgetText(38) = "V2 Rocket" 
WriteString (" " +Chr(34)+"obj/obj_team2"+Chr(34)) 
EndIf
If GetGadgetText(38) = "Omaha Beach" 
WriteString (" " +Chr(34)+"obj/obj_team3"+Chr(34)) 
EndIf
If GetGadgetText(38) = "The Bridge" 
WriteStringN (" " +Chr(34)+"obj/obj_team4"+Chr(34)) 
EndIf
Meine frage jetzt mach ich etwas falsch oder gibt es eine andere lösung für so etwas?


danke!

Verfasst: 27.03.2005 03:55
von Deeem2031
GetGadgetText() ist laut Hilfe garnicht mit einem ListIconGadget() vereinbar... vielleicht solltest du es so machen:

Code: Alles auswählen

For i = 0 To CountGadgetItems(38)-1
  If GetGadgetItemState(38,i) & #PB_ListIcon_Selected
    WriteString("MAP") 
    If GetGadgetItemText(38,i,0) = "Southe France" 
      WriteString (" " +Chr(34)+"dm/mohdm1"+Chr(34)) 
    EndIf 
    If GetGadgetItemText(38,i,0) = "Destroyed Village" 
      WriteString (" " +Chr(34)+"dm/mohdm2"+Chr(34)) 
    EndIf 
    If GetGadgetItemText(38,i,0) = "Remagen" 
      WriteString (" " +Chr(34)+"dm/mohdm3"+Chr(34)) 
    EndIf 
    If GetGadgetItemText(38,i,0) = "The Cross Roads" 
      WriteString (" " +Chr(34)+"dm/mohdm4"+Chr(34)) 
    EndIf 
    If GetGadgetItemText(38,i,0) = "Snowy Park" 
      WriteString (" " +Chr(34)+"dm/mohdm5"+Chr(34)) 
    EndIf 
    If GetGadgetItemText(38,i,0) = "Stalingrad" 
      WriteString (" " +Chr(34)+"dm/mohdm6"+Chr(34)) 
    EndIf 
    If GetGadgetItemText(38,i,0) = "Algiers" 
      WriteString (" " +Chr(34)+"dm/mohdm7"+Chr(34)) 
    EndIf 
    If GetGadgetItemText(38,i,0) = "The Hunt" 
      WriteString (" " +Chr(34)+"obj/obj_team1"+Chr(34)) 
    EndIf 
    If GetGadgetItemText(38,i,0) = "V2 Rocket" 
      WriteString (" " +Chr(34)+"obj/obj_team2"+Chr(34)) 
    EndIf 
    If GetGadgetItemText(38,i,0) = "Omaha Beach" 
      WriteString (" " +Chr(34)+"obj/obj_team3"+Chr(34)) 
    EndIf 
    If GetGadgetItemText(38,i,0) = "The Bridge" 
      WriteStringN (" " +Chr(34)+"obj/obj_team4"+Chr(34)) 
    EndIf
  EndIf
Next

Verfasst: 27.03.2005 11:47
von pogi02
Hallo

Warum machst du nicht ein Select statt diesen ganzen If abfragen??

danke!

Verfasst: 27.03.2005 11:54
von FISCHAUGE
Ja das mit dem Selet und dem Case wäre auch eine möglichkeit, dachte mir aber ich machs da mit, kommt ja am ende fast auf das gleiche raus!

Ob ich jetz
If...
AUSDRUCK
EndIf

Schreibe
oder
Select..
CASE 1
Endselect

ist ja kein so großer unterschied!

trotzdem danke für eure Hilfe die die vorschlägen!!

Verfasst: 27.03.2005 12:05
von pogi02
Hallo

Nunja es gibt 2 Gründe warum du Select nehmen solltest:

1. Es ist etwas übersichtlicher.

2. Select ist auch etwas schneller (hab ich zumindest mal gehört)

ok

Verfasst: 27.03.2005 12:14
von FISCHAUGE
Ja danke, ich glaube du hast recht damit das der Ablauf durch select schneller ist werde es nun mit Slect schreiben! Ist wirklich viel übersichtlicher!!

:allright: