Hallo autoBert,
dein Skript habe ich vorhin garnicht gesehen. F5 hilft manchmal ![]()
Vielen Dank, funktioniert wunderbar.
Und noch einmal Dank an alle für die Geduld.
Kann Euch nur weiterempfehlen, tolles Forum.
Gruß Ruby
Hallo autoBert,
dein Skript habe ich vorhin garnicht gesehen. F5 hilft manchmal ![]()
Vielen Dank, funktioniert wunderbar.
Und noch einmal Dank an alle für die Geduld.
Kann Euch nur weiterempfehlen, tolles Forum.
Gruß Ruby
Sorry, ich habe gedacht es geht schon bei den ersten Posts hervor.
Und wie kann man das jetzt umsetzen?
MFG Ruby
weil der Titel nur einmal vorkommt und ausserdem der Filmname sich über die FilmNr hier 2 genau zuordnen lässt.
MFG Ruby
Hallo autoBert und BugFix,
die Zuordnung gleicher Titel (Nr.) über die 1. Spalte ist gewährleistet.
Die Filme fangen bei 1 an und hören zur Zeit bei 515 auf in der Hauptdatei Datei 1.
Vielleicht noch einmal zur Erklärung.
Ich habe eine Hauptdatei Datei 1 mit 515 Filmen.
1|007 Die Welt ist nicht genug|dvd|ja
2|007 Feuerball|dvd|ja
3|007 Goldfinger|dvd|ja
...
71|Die Feuerzangenbowle|dvd|ja
113|Harry Potter Teil 4 und der Feuerkelch|dvd|ja
...
514|Ein Mann will nach oben|dvd|
515|Cars 2|dvd|
Dateiende
Dann erstelle ich eine Datei 2 wo sich der Titel von z.B Feuerball in Feuerball 123 geändert hat.
2|007 Feuerball 123|dvd|ja
71|Die Feuerzangenbowle|dvd|ja
113|Harry Potter Teil 4 und der Feuerkelch|dvd|ja
Dateiende
Danach soll das Script vergleichen welcher Filmtitel sich geändert hat und dies in Datei 1 überschreiben.
Also Film 2 wird ausgetauscht.
Filme 71 und Film 113 nicht, können aber der einfachheitshalber mit überschrieben werden, wenn das programmtechnisch einfacher ist.
Anschliessend steht dann in Datei 1:
1|007 Die Welt ist nicht genug|dvd|ja
2|007 Feuerball 123|dvd|ja
3|007 Goldfinger|dvd|ja
...
71|Die Feuerzangenbowle|dvd|ja
113|Harry Potter Teil 4 und der Feuerkelch|dvd|ja
...
514|Ein Mann will nach oben|dvd|
515|Cars 2|dvd|
Dateiende
Datei 2 wird anschliessend wieder glöscht.
Ich hoffe es jetzt für Euch Profis verständlich.
Vielen Dank nochmals.
Hallo,
in Datei 1 steht erst:
2|007 Feuerball|dvd|ja
3|007 Goldfinger|dvd|ja
4|007 Im Geheimdienst Ihrer Majestät|dvd|ja
5|007 James Bond jagt Dr.No|vhs|ja
usw..
Die Datei hat über 500 Einträge.
in Datei 2 steht:
2|007 Feuerball 123|dvd|ja
3|007 Goldfinger|dvd|ja
4|007 Im Geheimdienst Ihrer Majestät|dvd|ja
5|007 James Bond jagt Dr.No|vhs|ja
mehr aber nicht!
Hier hat sich tatsächlich nur das Wort Feuerball 123 geändert
Nun suche ich ein Script, das mir diesen geänderten Wert aus Datei 2 in Datei 1 schreibt/ersetzt und die restlichen Einträge in Datei 1 beibehält.
Hallo,
ich habe einen Schreibfehler begangen.
In Datei2 heissen die Wörter Kopie natürlich auch dvd oder vhs so wie in Datei1.
Also man kann die Datei2 einfach über Datei1 kopien, wie Du vorgeschlagen hast.
In meine Fall würde dann aus Datei 2 die Zeilen 1-5 in Datei1 überschrieben werden und der Rest in Datei1 bleibt so.
Ich glaube jetzt habe ich es richtig erklärt.
Vielleicht kannst Du mir helfen.
Gruß
Hallo Forum,
das Thema wurde ja schon des öftern erklärt, aber ich habe noch keine Lösung für mein Problem gefunden.
Ich habe zwei Textdateien:
Datei1 ist die Orignaldatei:
1|007 Die Welt ist nicht genug|dvd|ja
2|007 Feuerball|dvd|ja
3|007 Goldfinger|dvd|ja
4|007 Im Geheimdienst Ihrer Majestät|dvd|ja
5|007 James Bond jagt Dr.No|vhs|ja
...
63|Der kleine Eisbär Teil 1|vhs|ja
64|Der kleine Eisbär Teil 2|dvd|ja
...
und Datei2:
1|007 Die Welt ist nicht genug|kopie|ja
2|007 Feuerball 123|kopie|ja
3|007 Goldfinger|kopie|ja
4|007 Im Geheimdienst Ihrer Majestät|kopie|ja
5|007 James Bond jagt Dr.No|kopie|ja
Nun soll der Inhalt von Datei2, hier die Änderung, z.B.
2|007 Feuerball 123|kopie|ja
in Datei1 ausgewechselt werden.
Bitte um Hilfe, da ich nicht weiterkomme.
Danke
Ja, stehe ja noch am Anfang. Beise mich noch durch. Vielen Dank noch einmal. Schliesse den Beitrag.
Hi,
vielen Dank funktioniert. ![]()
Habe noch aus dem:
das gemacht:
_GUICtrlListView_ClickItem($Listview1, 0, "", True, 0)
_GUICtrlListView_DeleteAllItems($Listview1)
dann rollt die Listview nicht so.
Nochmals Dank.
Und den obrigen Code habe ich noch im Quellcodefenster gelegt, ist übersichtlicher, wie angeregt.
Tschüss
Danke für deine Hinweise.
Beim nächsten Mal werde ich darauf achten, das ich den Code so einfüge, oder muss ich das noch machen?
Ich bin ja nicht so oft hier und habe es einfach übersehen.
Was ich ja eigentlich nur veruche ist, das die externe Textdatei (Aufbau siehe unten)
so gefilter wird($array?), das nur die Datensätze die mit A oder S oder ... beginnen erst dann in die Listview
eingeladen werden
Ich weiss ja nicht ob ich mit meiner Idee richtig liege um es zu lösen.
Ein paar Programmzeilen würden evtl. helfen.
Danke
vor der Filterung:
1|007 Die Welt ist nicht genug|dvd|ja
2|12 Uhr Mittags|dvd|ja
3|A.I.|dvd|ja
4|Akte X- Der Film|dvd|ja
5|Aladdin 2 Disk Spezial Edition|dvd|ja
6|Bad Boys|dvd|ja
8|Biodata|dvd|ja
395|Sex and the City|dvd|
463|Shutter Island|dvd|
546|Cloud Atlas|dvd|
nach der Filterung A:
3|A.I.|dvd|ja
4|Akte X- Der Film|dvd|ja
5|Aladdin 2 Disk Spezial Edition|dvd|ja
oder
nach der Filterung S:
395|Sex and the City|dvd|
463|Shutter Island|dvd|
Bitte pack deinen Source-Code immer in die entsprechenden Code-Tags. Du kannst einen Accelerator hinzufügen der triggered wenn du Enter in dem Inputfeld drückst.
Damit kannst du dann den Buchstaben auslesen und durch dein FileArray iterieren und alle Zeilen mit dem Anfang aus dem Inputfeld hinzufügen.
Hi,
verstehe ich nicht so ganz. Bitte um Hilfe.
Gruss Ruby
Hallo Forum,
habe folgendes Problem und komme nicht weiter.
Ich erstelle eine Listview und fülle diese aus einer Array.
Nun soll aber die Array vorher gefiltert werden, sodas nur die Werte angezeigt werden mit den vorher angegeben Anfangsbuchstabe aus dem Inputfeld.
Z.b. suche mir alle Einträge mit A
oder
suche mir alle Einträge mit B
usw.
Was muss ich in der untenstehenden Funktion noch reinschreiben.
Danke, schon einmal für Eure Hilfe.
Gruß Ruby
#notrayicon
Opt('TrayIconHide', 1)
#include <GuiListView.au3>
#include <GUIConstants.au3>
#include <file.au3>
#include <array.au3>
#Region ###
$Form = GUICreate("", 860, 600, -1, -1)
Global $Listview = GUICtrlCreateListView("Film-Nr.|Filmname|Träger|Hinweis", 10, 10, 670, 342)
GUICtrlSendMsg(-1, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES)
_GUICtrlListView_SetColumnWidth(-1, 0, 70)
_GUICtrlListView_SetColumnWidth(-1, 1, 420)
_GUICtrlListView_SetColumnWidth(-1, 2, 80)
_GUICtrlListView_SetColumnWidth(-1, 3, 70)
Global $Input1 = GUICtrlCreateInput("", 10, 380, 300, 20)
GUICtrlSetState (-1, $GUI_FOCUS)
Global $Button1 = GUICtrlCreateButton("Filter Buchstabe", 170, 460, 145, 33)
GUISetState(@SW_SHOW)
#EndRegion ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
_filter()
Case $Input1
Case $Listview
EndSwitch
WEnd
Func _filter()
Global $array1
_FileReadToArray(@ScriptDir & "\liste-test.txt", $array1, -1)
; fülle Listview
_GUICtrlListView_DeleteAllItems($Listview)
For $i = 0 to Ubound($array1) - 1
GUICtrlCreateListViewItem($array1[$i], $Listview)
Next
EndFunc
Alles anzeigen
Hall BugFix,
so, wie Du es vorgeschlagen hast, habe ich es dann auch gemacht.
Danke noch einmal.
Hallo,
man das ging ja schnell, vielen Dank, hat funktioniert, wäre ich nicht draufgekommen.
Schönen 2. Advent noch. ![]()
Liebe Grüße
Hallo,
ich habe eine Listview die ich mit Inhalt fülle.
Die Inhalte der Items (z.B. Xing) lese ich in eine $varfunc aus, siehe unten.
Wie kann ich diese $varfunc in varfunc() ausgeben, damit er mir z.B. die Funktion Xing() ausführt?
Geht das überhaupt?
Vielen Dank im vorraus?
;Doppelklick per WM_NOTIFY
Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
#forceref $hWnd, $iMsg, $iwParam
Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView, $tInfo
;~ Local $tBuffer
$hWndListView = $List
If Not IsHWnd($List) Then $hWndListView = GUICtrlGetHandle($List)
$tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
$hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
$iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
$iCode = DllStructGetData($tNMHDR, "Code")
Switch $hWndFrom
Case $hWndListView
Switch $iCode
Case $NM_DBLCLK ; Sent by a list-view control when the user double-clicks an item with the left mouse button
$tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
;ab hier
$Column = _GUICtrlListView_GetSelectedIndices($List)
;~ MsgBox (0, $Column, _GUICtrlListView_GetqItemText($List, Abs ($Column)))
$varfunc = _GUICtrlListView_GetItemText($List, Abs ($Column))
$varfunc() ;hier ist das Problem ????
varfunc() ; z.B. Xing() , so soll es nacher ausgeführt werden.
;bis hier
EndSwitch
EndSwitch
EndFunc
Hallo Skerg,
vielen, vielen Dank, funktioniert.
Gruss ![]()
Hallo Autoi(t)eam,
habe folgendes Problem.
Wenn Fenster sichtbar, soll er mir nur ein Beep geben. Das funktioniert ja auch, nur einmal, so wie gewollt.
Nach einer Aktion minimiere ich das Fenster.
Das Programm befindet sich dann im Tray.
Wenn jetzt wieder das Fenster geöffnet wird, soll wieder der beep erfolgen.
Wo ist mein Denkfehler, könnt Ihr mir bitte helfen.
$i = 0
While 1
If BitAnd(WinGetState("mein Fenster", ""), 2) Then sound1()
WEnd
Func sound1()
While $i <= 0
beep(100,500)
$i = $i + 1
WEnd
EndFunc