Italia
Foro

Brauche etwas Aiuto

 

H.Brill
Ciao,
Ich bräuchte etwas Aiuto. Ich will ein Tourenplan-
programm machen und bekomme die Abwicklung
mit einem TabControl nicht so hin.

Im oberen LV soll der Kundenstamm rein. Unten
im Tabcontrol sollen per die einzelnen Tage (Mo - FR)
LVs erstellt werden. In diese sollen nun die einzelnen
Kunden übernommen werden. So sind per jeden Tag
verschiedene Kunden drin. Später will ich dann noch
ein Ausdrucken der versch. Tage sowie Löschen, Verschieben
usw. einbauen.

Das Problem ist, wenn ich einen Kunden im Kundenstamm
anklicke, einen Tab-Reiter auswähle und mit <Setze>
reinkopieren will, dann erscheinen die Kunden bei jedem
Tag (Tab).

Scheint nur ein kleiner Fehler zu sein. Was habe ich übersehen ?
KompilierenMarkierenSeparieren
Declare TabControl&,ende%, hd%, OK%, nz%, sp1%, lade1%, setze%
Declare index1%, tabnr%
Declare Memo1&,Memo2&,Memo3&,lv1&, lv2&, lv3&, lv4&, lv5&, klv&, lvdll&
Declare text1$, Edits$, sfile$
Edits$ = "01111111"
 $I Listview_Funktionen.inc

Proc SpeichereKlv

    Declare x&
    Declare bereich#

    IfNot sfile$ = ""

        x&=GetNeededMemory(klv&,1)
        Dim bereich#,x&
        x&=ListviewToCsv(klv&,bereich#,0,0)
        WriteFileQuick(addr(sfile$),bereich#,0,x&)
        Dispose bereich#

    EndIf

EndProc

Proc LadeKlv

    Declare bytes&
    Declare bereich#
    bytes&=@FileSize(sfile$)

    If bytes& > 0

        Dim bereich#,bytes&
        ReadFileQuick(addr(sfile$),bereich#,0,bytes&)
        CsvToListview(klv&,bereich#,bytes&,8)
        Dispose bereich#

    EndIf

EndProc

lvdll&=usedll("Listview.dll")
hd% = @Create("Dialog",%HWnd,"Tourenplan - Programm von H.Brill",10,10,%MaxX - 100,%MaxY - 100)
nz% = @Create("Button", hd%,  "Neue Zeile",10, 10, 80, 20)
sp1% = @Create("Button", hd%, "Speichern", 10, 40, 80, 20)
lade1% = @Create("Button", hd%, "Laden", 10, 70, 80, 20)
setze% = @Create("Button", hd%, "Setze", 10, 300, 80, 20)
Let klv&=CreateListview(hd%,%hinstance,0,$ffffff,-1,$31)
InsertColumn(klv&, " ", 20, 0)
InsertColumn(klv&, "Kdnr", 50, 0)
InsertColumn(klv&, "Name", 150, 0)
InsertColumn(klv&, "Wohnort", 150, 0)
InsertColumn(klv&, "Straße", 150, 0)
InsertColumn(klv&, "Telefon", 120, 0)
InsertColumn(klv&, "Verrechn.", 100, 0)
InsertColumn(klv&, "Preiszone", 100, 0)
ShowListview(klv&, 10, 100, 850, 150)
Let TabControl&=Create("TABCTRL",hd%,"Freitag",10,380,900,400)
InsertTab(TabControl&,0,"Donnerstag")
InsertTab(TabControl&,0,"Mittwoch")
InsertTab(TabControl&,0,"Dienstag")
InsertTab(TabControl&,0,"Montag")
Let lv1&=CreateListview(TabControl&,%hinstance,0,$ffffff,-1,$31)
InsertColumn(lv1&, " ", 20, 0)
InsertColumn(lv1&, "Kdnr", 50, 0)
InsertColumn(lv1&, "Name", 150, 0)
InsertColumn(lv1&, "Wohnort", 150, 0)
InsertColumn(lv1&, "Straße", 150, 0)
InsertColumn(lv1&, "Telefon", 120, 0)
InsertColumn(lv1&, "Verrechn.", 100, 0)
InsertColumn(lv1&, "Preiszone", 100, 0)
ShowListview(lv1&, 10, 40, 800, 200)
Let lv2&=CreateListview(TabControl&,%hinstance,0,$ffffff,-1,$31)
InsertColumn(lv2&, " ", 20, 0)
InsertColumn(lv2&, "Kdnr", 50, 0)
InsertColumn(lv2&, "Name", 150, 0)
InsertColumn(lv2&, "Wohnort", 150, 0)
InsertColumn(lv2&, "Straße", 150, 0)
InsertColumn(lv2&, "Telefon", 120, 0)
InsertColumn(lv2&, "Verrechn.", 100, 0)
InsertColumn(lv2&, "Preiszone", 100, 0)
ShowListview(lv2&, 10, 40, 800, 200)
Let lv3&=CreateListview(TabControl&,%hinstance,0,$ffffff,-1,$31)
InsertColumn(lv3&, " ", 20, 0)
InsertColumn(lv3&, "Kdnr", 50, 0)
InsertColumn(lv3&, "Name", 150, 0)
InsertColumn(lv3&, "Wohnort", 150, 0)
InsertColumn(lv3&, "Straße", 150, 0)
InsertColumn(lv3&, "Telefon", 120, 0)
InsertColumn(lv3&, "Verrechn.", 100, 0)
InsertColumn(lv3&, "Preiszone", 100, 0)
ShowListview(lv3&, 10, 40, 800, 200)
Let lv4&=CreateListview(TabControl&,%hinstance,0,$ffffff,-1,$31)
InsertColumn(lv4&, " ", 20, 0)
InsertColumn(lv4&, "Kdnr", 50, 0)
InsertColumn(lv4&, "Name", 150, 0)
InsertColumn(lv4&, "Wohnort", 150, 0)
InsertColumn(lv4&, "Straße", 150, 0)
InsertColumn(lv4&, "Telefon", 120, 0)
InsertColumn(lv4&, "Verrechn.", 100, 0)
InsertColumn(lv4&, "Preiszone", 100, 0)
ShowListview(lv4&, 10, 40, 800, 200)
Let lv5&=CreateListview(TabControl&,%hinstance,0,$ffffff,-1,$31)
InsertColumn(lv5&, " ", 20, 0)
InsertColumn(lv5&, "Kdnr", 50, 0)
InsertColumn(lv5&, "Name", 150, 0)
InsertColumn(lv5&, "Wohnort", 150, 0)
InsertColumn(lv5&, "Straße", 150, 0)
InsertColumn(lv5&, "Telefon", 120, 0)
InsertColumn(lv5&, "Verrechn.", 100, 0)
InsertColumn(lv5&, "Preiszone", 100, 0)
ShowListview(lv5&, 10, 40, 800, 200)
InitMessages(hd%)
SelectColumnEdits(klv&, addr(Edits$))
EnableEdits(klv&, 1)
EnableEdits(lv1&, 1)
EnableEdits(lv2&, 1)
EnableEdits(lv3&, 1)
EnableEdits(lv4&, 1)
EnableEdits(lv5&, 1)

If Equ(%key,2)

    Let ende%=1

EndIf

Clear OK%

WhileNot Ok%

    WaitInput

    If @GetFocus(nz%)

        SetItem klv&, "", "", "", "", "", "", "", ""

    ElseIf @GetFocus(sp1%)

        sfile$ = @SaveFile$("Datei speichern", "TourNr.csv")
        SpeichereKlv

    ElseIf @GetFocus(lade1%)

        sfile$ = @LoadFile$("Datei laden", "TourNr|*.csv")
        LadeKlv

    ElseIf @GetFocus(setze%)

        index1% = GetSelectedLine(klv&)
        tabnr% = @GetActiveTab(TabControl&)
        Hier soll abhängig vom Reiter des Tabcontrols
        in das entsprechende Listview reinkopiert werden
        Case @Equ(tabnr%, 0) : CopyLineTo(klv&, lv1&, index1%, 0)
        Case @Equ(tabnr%, 1) : CopyLineTo(klv&, lv2&, index1%, 0)
        Case @Equ(tabnr%, 2) : CopyLineTo(klv&, lv3&, index1%, 0)
        Case @Equ(tabnr%, 3) : CopyLineTo(klv&, lv4&, index1%, 0)
        Case @Equ(tabnr%, 4) : CopyLineTo(klv&, lv5&, index1%, 0)

    EndIf

    If @Equ(%key, 2)

        Ok% = 1

    EndIf

Wend

@DestroyWindow(hD%)
CloseMessages(hd%)
End
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
20.01.2005  
 



Nun - Du hast noch viele andere Problemchen in Deinem Source - aber so ists ein bisl besser (getfocus gesetzt).
KompilierenMarkierenSeparieren
Declare TabControl&,ende%, hd%, OK%, nz%, sp1%, lade1%, setze%
Declare index1%, tabnr%
Declare Memo1&,Memo2&,Memo3&,lv1&, lv2&, lv3&, lv4&, lv5&, klv&, lvdll&
Declare text1$, Edits$, sfile$
Edits$ = "01111111"
 $I Listview_Funktionen.inc

Proc SpeichereKlv

    Declare x&
    Declare bereich#

    IfNot sfile$ = ""

        x&=GetNeededMemory(klv&,1)
        Dim bereich#,x&
        x&=ListviewToCsv(klv&,bereich#,0,0)
        WriteFileQuick(addr(sfile$),bereich#,0,x&)
        Dispose bereich#

    EndIf

EndProc

Proc LadeKlv

    Declare bytes&
    Declare bereich#
    bytes&=@FileSize(sfile$)

    If bytes& > 0

        Dim bereich#,bytes&
        ReadFileQuick(addr(sfile$),bereich#,0,bytes&)
        CsvToListview(klv&,bereich#,bytes&,8)
        Dispose bereich#

    EndIf

EndProc

lvdll&=usedll("Listview.dll")
hd% = @Create("Dialog",%HWnd,"Tourenplan - Programm von H.Brill",10,10,%MaxX - 100,%MaxY - 100)
nz% = @Create("Button", hd%,  "Neue Zeile",10, 10, 80, 20)
sp1% = @Create("Button", hd%, "Speichern", 10, 40, 80, 20)
lade1% = @Create("Button", hd%, "Laden", 10, 70, 80, 20)
setze% = @Create("Button", hd%, "Setze", 10, 300, 80, 20)
Let klv&=CreateListview(hd%,%hinstance,0,$ffffff,-1,$31)
InsertColumn(klv&, " ", 20, 0)
InsertColumn(klv&, "Kdnr", 50, 0)
InsertColumn(klv&, "Name", 150, 0)
InsertColumn(klv&, "Wohnort", 150, 0)
InsertColumn(klv&, "Straße", 150, 0)
InsertColumn(klv&, "Telefon", 120, 0)
InsertColumn(klv&, "Verrechn.", 100, 0)
InsertColumn(klv&, "Preiszone", 100, 0)
ShowListview(klv&, 10, 100, 850, 150)
Let TabControl&=Create("TABCTRL",hd%,"Freitag",10,380,900,400)
InsertTab(TabControl&,0,"Donnerstag")
InsertTab(TabControl&,0,"Mittwoch")
InsertTab(TabControl&,0,"Dienstag")
InsertTab(TabControl&,0,"Montag")
Let lv1&=CreateListview(TabControl&,%hinstance,0,$ffffff,-1,$31)
InsertColumn(lv1&, " ", 20, 0)
InsertColumn(lv1&, "Kdnr", 50, 0)
InsertColumn(lv1&, "Name", 150, 0)
InsertColumn(lv1&, "Wohnort", 150, 0)
InsertColumn(lv1&, "Straße", 150, 0)
InsertColumn(lv1&, "Telefon", 120, 0)
InsertColumn(lv1&, "Verrechn.", 100, 0)
InsertColumn(lv1&, "Preiszone", 100, 0)
ShowListview(lv1&, 10, 40, 800, 200)
Let lv2&=CreateListview(TabControl&,%hinstance,0,$ffffff,-1,$31)
InsertColumn(lv2&, " ", 20, 0)
InsertColumn(lv2&, "Kdnr", 50, 0)
InsertColumn(lv2&, "Name", 150, 0)
InsertColumn(lv2&, "Wohnort", 150, 0)
InsertColumn(lv2&, "Straße", 150, 0)
InsertColumn(lv2&, "Telefon", 120, 0)
InsertColumn(lv2&, "Verrechn.", 100, 0)
InsertColumn(lv2&, "Preiszone", 100, 0)
ShowListview(lv2&, 10, 40, 800, 200)
Let lv3&=CreateListview(TabControl&,%hinstance,0,$ffffff,-1,$31)
InsertColumn(lv3&, " ", 20, 0)
InsertColumn(lv3&, "Kdnr", 50, 0)
InsertColumn(lv3&, "Name", 150, 0)
InsertColumn(lv3&, "Wohnort", 150, 0)
InsertColumn(lv3&, "Straße", 150, 0)
InsertColumn(lv3&, "Telefon", 120, 0)
InsertColumn(lv3&, "Verrechn.", 100, 0)
InsertColumn(lv3&, "Preiszone", 100, 0)
ShowListview(lv3&, 10, 40, 800, 200)
Let lv4&=CreateListview(TabControl&,%hinstance,0,$ffffff,-1,$31)
InsertColumn(lv4&, " ", 20, 0)
InsertColumn(lv4&, "Kdnr", 50, 0)
InsertColumn(lv4&, "Name", 150, 0)
InsertColumn(lv4&, "Wohnort", 150, 0)
InsertColumn(lv4&, "Straße", 150, 0)
InsertColumn(lv4&, "Telefon", 120, 0)
InsertColumn(lv4&, "Verrechn.", 100, 0)
InsertColumn(lv4&, "Preiszone", 100, 0)
ShowListview(lv4&, 10, 40, 800, 200)
Let lv5&=CreateListview(TabControl&,%hinstance,0,$ffffff,-1,$31)
InsertColumn(lv5&, " ", 20, 0)
InsertColumn(lv5&, "Kdnr", 50, 0)
InsertColumn(lv5&, "Name", 150, 0)
InsertColumn(lv5&, "Wohnort", 150, 0)
InsertColumn(lv5&, "Straße", 150, 0)
InsertColumn(lv5&, "Telefon", 120, 0)
InsertColumn(lv5&, "Verrechn.", 100, 0)
InsertColumn(lv5&, "Preiszone", 100, 0)
ShowListview(lv5&, 10, 40, 800, 200)
InitMessages(hd%)
SelectColumnEdits(klv&, addr(Edits$))
EnableEdits(klv&, 1)
EnableEdits(lv1&, 1)
EnableEdits(lv2&, 1)
EnableEdits(lv3&, 1)
EnableEdits(lv4&, 1)
EnableEdits(lv5&, 1)

If Equ(%key,2)

    Let ende%=1

EndIf

Clear OK%

WhileNot Ok%

    WaitInput

    If @GetFocus(nz%)

        SetItem klv&, "", "", "", "", "", "", "", ""
        setfocus (%hwnd)

    ElseIf @GetFocus(sp1%)

        sfile$ = @SaveFile$("Datei speichern", "TourNr.csv")
        SpeichereKlv
        setfocus (%hwnd)

    ElseIf @GetFocus(lade1%)

        sfile$ = @LoadFile$("Datei laden", "TourNr|*.csv")
        LadeKlv
        setfocus (%hwnd)

    ElseIf @GetFocus(setze%)

        index1% = GetSelectedLine(klv&)
        tabnr% = @GetActiveTab(TabControl&)
        Hier soll abhängig vom Reiter des Tabcontrols
        in das entsprechende Listview reinkopiert werden
        Case @Equ(tabnr%, 0) : CopyLineTo(klv&, lv1&, index1%, 0)
        Case @Equ(tabnr%, 1) : CopyLineTo(klv&, lv2&, index1%, 0)
        Case @Equ(tabnr%, 2) : CopyLineTo(klv&, lv3&, index1%, 0)
        Case @Equ(tabnr%, 3) : CopyLineTo(klv&, lv4&, index1%, 0)
        Case @Equ(tabnr%, 4) : CopyLineTo(klv&, lv5&, index1%, 0)
        setfocus (%hwnd)

    EndIf

    If @Equ(%key, 2)

        Ok% = 1

    EndIf

Wend

@DestroyWindow(hD%)
CloseMessages(hd%)
End

Salve, iF
 
20.01.2005  
 




Frank
Abbing
Hallo Heinz,

uiui, da corre aber einiges schief.
Ist auch überhaupt keine Listview.dll-Frage, sondern eine allgemeine Profanfrage.

Wie auch immer: Um per jeden Reiter des Tabcontrols eine eigene Anzeige zu erhalten, mußt du naturalmente deine Listviews (und naturalmente auch andere Controls) passend ein-und ausblenden!
Nur ein Listview - das, welches zu dem aktuellen Reiter gehört - darf gerade angezeigt werden. Die anderen mußt du ausschalten (Showwindow). Ändert sich der Reiter (Abfrage mit Profans TabChanged()), dann muß das passende Listview eingeblendet werden...
 
20.01.2005  
 




H.Brill
Hallo Frank,
Danke per den Tipp.
Werde es heute abend mal ausprobieren.
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
21.01.2005  
 




H.Brill
Ciao,
Habe endlich mein Problem gelöst und
kann weitermachen.
War nur ne Kleinigkeit.

Da hätte ich noch ne Frage :

Ich habe in meinen verschiedenen Listviews Checkboxen
eingebaut ($4). Das Speichern der einzelnen Tage geht soweit
auch. Nun möchte ich auch die Zustände der Checkboxen
mit abspeichern, um sie beim späteren Laden wieder genauso
per jedes Listview zu haben.

Muß ich dazu jedes Listview mit GetChecked() abklappern
und in un extra File schreiben oder geht das auch einfacher ?

Oder kann man da bei den Funktionen CsvToListview und
ListviewToCsv was machen (Verbesserungsvorschlag) ?
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
22.01.2005  
 




Frank
Abbing
Hallo Heinz,

das würde naturalmente das Csv-Format hinfällig machen, sodass andere Programme diese File nicht mehr richtig laden könnten. Möchte ich auf keinen Fall.
Du wirst per den Checkboxen-Stand eine zusätzliche File benötigen, evt. potuto ich dafür zwei Funktion machen, z.B. CheckboxStateToMem() und MemToCheckboxState().
 
23.01.2005  
 




H.Brill
Hallo Frank,
Solche zwei Funktionen wären nicht schlecht.
Ich denke, daß auch andere sowas brauchen
können, zumal man dann nicht von Hand zu Fuß
sondern mit zwei Funktionen arbeiten kann.

Am besten, daß man es mit WriteFileQuick und ReadFileQuick
bequem auf Platte speichern bzw. lesen kann.

Kannst es dir mal überlegen.
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
23.01.2005  
 




Frank
Abbing
...Grubbelprubbel... Ja, mach ich...
 
23.01.2005  
 




Frank
Abbing
Hallo nochmal,

sind in der Mache, die beiden Funktionen.
 
23.01.2005  
 




Frank
Abbing
Nochmal ich.

hab die Funktionen fertig und dir die Beta + Source zugeschickt. Teste mal, ob es das ist, was du gesucht hast.
 
23.01.2005  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

2.741 Views

Untitledvor 0 min.

Themeninformationen

Dieses Thema hat 3 subscriber:

Frank Abbing (5x)
H.Brill (4x)
unbekannt (1x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie