Skocz do zawartości

Edycje w GUICtrlCreateList


Rekomendowane odpowiedzi

 

1234qj.jpg

 

 

Zamierzam w tym programiku jakoś oskryptować usuń/edytuj linijkę...

 

i nie wiem jak zrobić aby wykonywać jakiekolwiek działania na tej zaznaczonej linijce...

 

.. dodawać to nie problem ale właśnie to usuwanie mnie gryzie...

 

KOD

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <WindowsConstants.au3>
#include <FF.au3>
#Region ### START Koda GUI section ### Form=C:\Users\xenex\Desktop\ADF.LY\1.kxf
$Form1_1 = GUICreate("Form1", 801, 601, 192, 124)
$List1 = GUICtrlCreateList("", 0, 0, 800, 500)
GUICtrlSetData($List1,"1|2|3|4|5|itd..")
$Button1 = GUICtrlCreateButton("DODAJ(+)", 8, 560, 100, 25, $WS_GROUP)
$Button2 = GUICtrlCreateButton("EDIT", 128, 560, 100, 25, $WS_GROUP)
$Button3 = GUICtrlCreateButton("USUŃ (-)", 248, 560, 100, 25, $WS_GROUP)
$Button4 = GUICtrlCreateButton("ForVip", 368, 560, 100, 25, $WS_GROUP)
$Button5 = GUICtrlCreateButton("Exit", 648, 560, 100, 25, $WS_GROUP)
$data_List1 = GUICtrlRead($List1)
$Input1 = GUICtrlCreateInput($data_List1, 8, 520, 785, 21)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
	Case $GUI_EVENT_CLOSE
		Exit

EndSwitch
WEnd

Oddajcie minusy! :(

Odnośnik do komentarza
Udostępnij na innych stronach

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <WindowsConstants.au3>
#include <FF.au3>
#Region ### START Koda GUI section ### Form=C:\Users\xenex\Desktop\ADF.LY\1.kxf
$Form1_1 = GUICreate("Form1", 801, 601, 192, 124)
$List1 = GUICtrlCreateList("", 0, 0, 800, 500)
GUICtrlSetData($List1,"1|2|3|4|5|itd..")
$Button1 = GUICtrlCreateButton("DODAJ(+)", 8, 560, 100, 25, $WS_GROUP)
$Button2 = GUICtrlCreateButton("EDIT", 128, 560, 100, 25, $WS_GROUP)
$Button3 = GUICtrlCreateButton("USUŃ (-)", 248, 560, 100, 25, $WS_GROUP)
$Button4 = GUICtrlCreateButton("ForVip", 368, 560, 100, 25, $WS_GROUP)
$Button5 = GUICtrlCreateButton("Exit", 648, 560, 100, 25, $WS_GROUP)
$data_List1 = GUICtrlRead($List1)
$Input1 = GUICtrlCreateInput($data_List1, 8, 520, 785, 21)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
       $nMsg = GUIGetMsg()
       Switch $nMsg
               Case $GUI_EVENT_CLOSE
                       Exit
				Case $Button3
                                               If Not GUICtrlRead($List1) = "" Then
					$find = _GUICtrlListBox_FindInText($List1, GUICtrlRead($List1))
					_GUICtrlListBox_DeleteString($List1, $find)
                                               EndIf
				Case $Button2
					If Not GUICtrlRead($Input1) = "" Then
					$find = _GUICtrlListBox_FindInText($List1, GUICtrlRead($List1))
					_GUICtrlListBox_DeleteString($List1, $find)
					GUICtrlSetData($List1, GUICtrlRead($Input1) & "|")
					EndIf
				Case $Button1
					GUICtrlSetData($List1, GUICtrlRead($Input1) & "|")

       EndSwitch
WEnd

Edytowane przez Loozakku.
Odnośnik do komentarza
Udostępnij na innych stronach

Dzięki za pomoc, działa usuwanie przynajmniej :D

inne nie bardzo, ponieważ sporo przerobiłem skrypt :D

 

teraz wygląda tak

 

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <WindowsConstants.au3>
#include <FF.au3>
#include <GuiListView.au3>
#include <array.au3>
#Region ### START Koda GUI section ### Form=C:\Users\xenex\Desktop\ADF.LY\1.kxf
$Form1_1 = GUICreate("Form1", 801, 601, 192, 124)
$List1 = GUICtrlCreateList("", 0, 0, 800, 500)
$DODAJ = GUICtrlCreateButton("DODAJ(+)", 8, 560, 100, 25, $WS_GROUP)
$EDIT = GUICtrlCreateButton("EDIT", 128, 560, 100, 25, $WS_GROUP)
$USUN = GUICtrlCreateButton("USUŃ (-)", 248, 560, 100, 25, $WS_GROUP)
$NEW = GUICtrlCreateButton("ForVip", 368, 560, 100, 25, $WS_GROUP)
$Exit = GUICtrlCreateButton("Exit", 648, 560, 100, 25, $WS_GROUP)
$data_List1 = GUICtrlRead($List1)
$Input1 = GUICtrlCreateInput($data_List1, 8, 520, 785, 21)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

Global $link[150] , $tekst
For $i = 0 to 149
$link[$i] = FileReadLine("savelinks.txt",$i)
Next
$text = ""
for $i = 0 to 149
$text &= $link[$i] & "|"
next
GUICtrlSetData($List1,$text)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
	Case $GUI_EVENT_CLOSE
		Exit
	Case $USUN
		If Not GUICtrlRead($List1) = "" Then
		$find = _GUICtrlListBox_FindInText($List1, GUICtrlRead($List1))
				_GUICtrlListBox_DeleteString($List1, $find)
		EndIf
	Case $DODAJ
		$dodlink = GUICtrlRead($Input1)
		FileWrite("savelinks.txt",$dodlink & @CRLF)
		MsgBox(0,"asd","Pomyslnie dodano!")
		For $i = 0 to 149
		$link[$i] = FileReadLine("savelinks.txt",$i)
		Next
		$text = ""
		for $i = 0 to 149
		$text &= $link[$i] & "|"
		next
		GUICtrlSetData($List1,$text)
;		Case $EDIT
;			$doedycji = GUICtrlRead($list1)
;			GUICtrlSetData($Input1,$doedycji)

	Case $EDIT

EndSwitch
WEnd

 

Jakby ktoś mógł chodzi o to aby usuwało linijkę z pliku savelinks.txt

Oddajcie minusy! :(

Odnośnik do komentarza
Udostępnij na innych stronach

podstawy się kłaniają write read cokolwiek co robisz na plikach najpierw się je otwiera : FileOpen, a nie przeprowadza operacja na niewczytanym pliku

 

nie zapomnij by ba koniec operacji na pliku go zamknąć

 

FileOpen("savelinks.txt", 1)

If you = stupid then

insert(foot.in.your.ass)

end if

licznik-54-96732-stat.png

Odnośnik do komentarza
Udostępnij na innych stronach

podstawy się kłaniają write read cokolwiek co robisz na plikach najpierw się je otwiera : FileOpen, a nie przeprowadza operacja na niewczytanym pliku

 

nie zapomnij by ba koniec operacji na pliku go zamknąć

tak, to to ja wiem, tylko chodzi że jak oznaczę linijkę 10 w tablicy która ma napis "asdfgh" to jak ja mam ją usunąć/edytować z pliku?

 

bo dodawanie już mam (i nawet sprawne!)

 

// może nie zrozumiałeś

 

wszystko się sprawnie wczytuje z pliku tylko nie umiem zrobić znajdywania linii/zmiennej danej linijki :)

 

bo jak widać z kodu każda linia oznaczona jest $link[73] np.

Oddajcie minusy! :(

Odnośnik do komentarza
Udostępnij na innych stronach

FileWriteLine do zapisu zmiany lini , analogicznie FileReadLine do odczytu wcześniej

 

 

FileReadLine( "savelinks.txt", $link[$i] )

 

savelinks.txt otwórz fileopen i zapisz jako jakąś zmienną , w skrypcie jakoś tego nadal nie widzę , a operacja musi być przeprowadzona na pliku wcześniej otwartym

If you = stupid then

insert(foot.in.your.ass)

end if

licznik-54-96732-stat.png

Odnośnik do komentarza
Udostępnij na innych stronach

FileWriteLine do zapisu zmiany lini , analogicznie FileReadLine do odczytu wcześniej

 

 

FileReadLine( "savelinks.txt", $link[$i] )

 

savelinks.txt otwórz fileopen i zapisz jako jakąś zmienną , w skrypcie jakoś tego nadal nie widzę , a operacja musi być przeprowadzona na pliku wcześniej otwartym

 

Poczekaj, nie rozumiem - bo dziś troszkę nie myślę...

 

Co mi to da, że otworzę plik?

 

$kk = FileOpen( "savelinks.txt")

$kk2 = FileReadLine( "savelinks.txt", $link[$i] )

 

Teraz - co mi to da?

 

$i jest potrzebna od odczytywania wszystkich linijek z pliku "savelinks.txt", - to wszystko trybi pięknie

wczytują mi się all pliczki

 

Tylko nie wiem do czego zmierzasz z FileOpen i FileReadLine

sorry, ale naprawdę nie rozumiem ;x

Oddajcie minusy! :(

Odnośnik do komentarza
Udostępnij na innych stronach

popatzr jak w helpie to pokazano na każdej z tych funkcji, zawsze jest przed operacją na pliku wczytanie go file open , na tej podstawie łatwo już ci ujdzie, sory ale nei mam programu by sprawdzić czy poedytowac w pracy

 

jak już to to jest właściwy zapis

$kk = FileOpen( "savelinks.txt")
$kk2 = FileReadLine( $kk , $link[$i] )

 

operacja jest przeprowadzana na pliku już zdefiniowanym, dla funkcji odczytu lini wygląda to tak jakbyś wczytywał inny plik

If you = stupid then

insert(foot.in.your.ass)

end if

licznik-54-96732-stat.png

Odnośnik do komentarza
Udostępnij na innych stronach

 Udostępnij

  • Ostatnio przeglądający forum Edycje w GUICtrlCreateList   0 użytkowników
    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...