Seite 1 von 1

Eine Zeile löschen aus dem : Gadget_ListView

Verfasst: 13.08.2012 17:46
von funkheld
Hallo,guten Tag.
Ich habe ein Gadget_ListView , welches auch soweit funktioniert.
Wie kann man daraus eine bestimmte angeklickte Zeile Löschen?
Und wie kann man es machen, das alle Buchstaben automatisch gross geschrieben werden, die unten in der Eingabezeile eingegeben werden?

Code: Alles auswählen

Global text.s, text_test.s,spalte.l,zeile.l,gesamt_text.s
Global Dim text_daten.s(10)

Enumeration
 #window_0
 #Gadget_ListView 
 #button_0
 #button_1
 #button_2
 #button_3
 #datei_0
 #String_0
 #String_1
 #String_2
 #String_3
 #String_4
 #String_5
 #String_6
 #String_7
 #Font_0
EndEnumeration

Declare daten_speichern()
Declare daten_laden()
Declare daten_loeschen()
Declare zeilen_setzen()

ListViewSpalte.LV_COLUMN 
ListViewSpalte\mask = #LVCF_FMT 

If OpenWindow(#window_0,0,0,1000,600, "",#PB_Window_SystemMenu|#PB_Window_ScreenCentered) 
	
	ButtonGadget(#button_0, 20,560, 80, 25, "speichern")
	ButtonGadget(#button_2, 120,560, 80, 25, "laden")
	ButtonGadget(#button_3, 220,560, 80, 25, "löschen")
	ButtonGadget(#button_1, 20,490, 80, 25, "setzen")
	
	StringGadget(#String_0, 20, 450, 70, 20, "")
	StringGadget(#String_1, 90, 450, 70, 20, "")
	StringGadget(#String_2, 160, 450, 70, 20, "")
	StringGadget(#String_3, 230, 450, 70, 20, "")
	StringGadget(#String_4, 300, 450, 50, 20, "")
	StringGadget(#String_5, 350, 450, 50, 20, "")
	StringGadget(#String_6, 400, 450, 70, 20, "")
	StringGadget(#String_7, 470, 450, 450, 20, "")
	
	LoadFont(#Font_0, "Lucida Console", 10)
	SetGadgetFont(#String_0, FontID(#Font_0)) 
	SetGadgetFont(#String_1, FontID(#Font_0)) 
	SetGadgetFont(#String_2, FontID(#Font_0)) 
	SetGadgetFont(#String_3, FontID(#Font_0)) 
	SetGadgetFont(#String_4, FontID(#Font_0)) 
	SetGadgetFont(#String_5, FontID(#Font_0)) 
	SetGadgetFont(#String_6, FontID(#Font_0)) 
	SetGadgetFont(#String_7, FontID(#Font_0)) 
	
  ListViewHandle = ListIconGadget(#Gadget_ListView,20,20,900,400, "to Radio", 70,#PB_ListIcon_GridLines) 
  AddGadgetColumn(#Gadget_ListView, 1, "DATE", 70) 
  AddGadgetColumn(#Gadget_ListView, 2, "TIME UTC", 70) 
  AddGadgetColumn(#Gadget_ListView, 3, "BAND KHZ", 70) 
  AddGadgetColumn(#Gadget_ListView, 4, "MODE", 50) 
  AddGadgetColumn(#Gadget_ListView, 5, "RST", 50) 
  AddGadgetColumn(#Gadget_ListView, 6, "QSO WITH", 70) 
  AddGadgetColumn(#Gadget_ListView, 7, "                                                           TEXT",445) 
  
  Spalte = 0 
  ListViewSpalte\fmt = #LVCFMT_CENTER  
  SendMessage_(ListViewHandle, #LVM_SETCOLUMN, Spalte, @ListViewSpalte) 
  
  Spalte = 1 
  ListViewSpalte\fmt = #LVCFMT_CENTER  
  SendMessage_(ListViewHandle, #LVM_SETCOLUMN, Spalte, @ListViewSpalte) 
  
  Spalte = 2 
  ListViewSpalte\fmt = #LVCFMT_CENTER  
  SendMessage_(ListViewHandle, #LVM_SETCOLUMN, Spalte, @ListViewSpalte) 
  
  Spalte = 3 
  ListViewSpalte\fmt = #LVCFMT_CENTER  
  SendMessage_(ListViewHandle, #LVM_SETCOLUMN, Spalte, @ListViewSpalte) 
  
  Spalte = 4 
  ListViewSpalte\fmt = #LVCFMT_CENTER  
  SendMessage_(ListViewHandle, #LVM_SETCOLUMN, Spalte, @ListViewSpalte) 
  
  Spalte = 5 
  ListViewSpalte\fmt = #LVCFMT_CENTER  
  SendMessage_(ListViewHandle, #LVM_SETCOLUMN, Spalte, @ListViewSpalte) 
  
  Spalte = 6 
  ListViewSpalte\fmt = #LVCFMT_CENTER  
  SendMessage_(ListViewHandle, #LVM_SETCOLUMN, Spalte, @ListViewSpalte) 
  
  Spalte = 7 
  ListViewSpalte\fmt = #LVCFMT_LEFT 
  SendMessage_(ListViewHandle, #LVM_SETCOLUMN, Spalte, @ListViewSpalte) 
  
  AddGadgetItem(#Gadget_ListView,0,gesamt_text ) 
  Repeat

  Event = WaitWindowEvent()

  Select Event
  	Case #PB_Event_Gadget
  		EventGadget = EventGadget()
  		EventType = EventType()
  		
  		If EventGadget = #Button_0
        daten_speichern()
      EndIf
      
      If EventGadget = #Button_2
        daten_laden()
      EndIf
      
      If EventGadget = #Button_3
        daten_loeschen()
      EndIf
      
      If EventGadget = #Button_1
      	text_daten(0)=GetGadgetText(#String_0)
      	text_daten(1)=GetGadgetText(#String_1)
      	text_daten(2)=GetGadgetText(#String_2)
      	text_daten(3)=GetGadgetText(#String_3)
      	text_daten(4)=GetGadgetText(#String_4)
      	text_daten(5)=GetGadgetText(#String_5)
      	text_daten(6)=GetGadgetText(#String_6)
      	text_daten(7)=GetGadgetText(#String_7)
      	zeilen_setzen()
      EndIf
      
    Case #PB_Event_CloseWindow
      EventWindow = EventWindow()
      If EventWindow = #Window_0
        CloseWindow(#Window_0)
        Break
      EndIf
  EndSelect

  ForEver
EndIf 

Procedure zeilen_setzen()
	gesamt_text=text_daten(0) + Chr(10) +text_daten(1) + Chr(10)+text_daten(2) + Chr(10)+text_daten(3) + Chr(10)
  gesamt_text=gesamt_text+text_daten(4) + Chr(10) +text_daten(5) + Chr(10)+text_daten(6) + Chr(10)+text_daten(7)
  AddGadgetItem(#Gadget_ListView,zeile,gesamt_text ) 
  zeile=zeile+1
  gesamt_text=""
EndProcedure

Procedure daten_speichern()
	CreateFile(#datei_0, "d:\qsl-daten.txt")
	
	zeile=0
  While 1
  	text_test=GetGadgetItemText(#Gadget_ListView,zeile)
  	If Len(text_test) = 0 
  		Break
  	EndIf	
  	
  	text=""
  	For spalte=0 To 7
  		text_test=GetGadgetItemText(#Gadget_ListView,zeile,spalte)
  		If Len(text_test) > 0
  			text=text+GetGadgetItemText(#Gadget_ListView,zeile,spalte)
  			text=text+"|"
  		EndIf			
  	Next	
  	
  	WriteStringN(#datei_0,text)
  	zeile=zeile+1
  Wend	
  CloseFile(#datei_0)
EndProcedure 

Procedure daten_laden()
	If ReadFile(#datei_0, "d:\qsl-daten.txt")  
	zeile=0	
  While Eof(#datei_0) = 0           
    text=ReadString(#datei_0)   
    For k=1 To 8
    	text_daten(k-1)=(StringField(text, k, "|"))
    Next
    gesamt_text=text_daten(0) + Chr(10) +text_daten(1) + Chr(10)+text_daten(2) + Chr(10)+text_daten(3) + Chr(10)
    gesamt_text=gesamt_text+text_daten(4) + Chr(10) +text_daten(5) + Chr(10)+text_daten(6) + Chr(10)+text_daten(7)
    AddGadgetItem(#Gadget_ListView,zeile,gesamt_text )
    gesamt_text=""
    zeile=zeile+1
  Wend  
    CloseFile(#datei_0)
  EndIf
EndProcedure

Procedure daten_loeschen()
	ClearGadgetItems(#Gadget_ListView) 
	AddGadgetItem(#Gadget_ListView,0,gesamt_text )
	zeile=0
EndProcedure
Danke.
Gruss

Re: Eine Zeile löschen aus dem : Gadget_ListView

Verfasst: 13.08.2012 17:54
von RSBasic
Um die aktuelle, ausgewählte Zeile löschen zu können:

Code: Alles auswählen

RemoveGadgetItem(#LVGadget, GetGadgetState(#LVGadget))
Um die Eingabe in Großbuchstaben zu konvertieren:

Code: Alles auswählen

Ergebnis$ = UCase(String$)

Re: Eine Zeile löschen aus dem : Gadget_ListView

Verfasst: 13.08.2012 17:56
von NicknameFJ
Hallo Funkheld,

erstmal zum zweiten Teil Deiner Frage:

Code: Alles auswählen

 StringGadget(#String_0, 20, 450, 70, 20, "",#PB_String_UpperCase )
:mrgreen:

wandelt die Eingabe direkt in Großbuchstaben um.

Grüße

NicknameFJ

Re: Eine Zeile löschen aus dem : Gadget_ListView

Verfasst: 13.08.2012 19:03
von funkheld
Jup, ich danke euch beiden.
Gruss

Re: Eine Zeile löschen aus dem : Gadget_ListView

Verfasst: 13.08.2012 21:51
von funkheld
Wie kann ich eine Zeile entfernen, wenn ich die mit der Maus selektiert habe(blau eingefärbt)?

Danke.

Gruss

Re: Eine Zeile löschen aus dem : Gadget_ListView

Verfasst: 14.08.2012 02:15
von NicknameFJ
funkheld hat geschrieben:Wie kann ich eine Zeile entfernen, wenn ich die mit der Muas selektiert habe(blau eingefärbt)?
RSBasic hat geschrieben:Um die aktuelle, ausgewählte Zeile löschen zu können:

Code: Alles auswählen

RemoveGadgetItem(#LVGadget, GetGadgetState(#LVGadget))
Grüße

NicknameFJ

Re: Eine Zeile löschen aus dem : Gadget_ListView

Verfasst: 14.08.2012 09:38
von funkheld
Ja, danke. Jetzt funktioniert es wunderbar.

Gruss