Français
Forum

XProfan Editierbare Tabellenfelder

 

Energizer
allô liebes forme ;),
suis eh bien aussi récente dabei et à qui travail avec XProfan 11.2 Free (c'est doch qui aktuellste ou bien?)

Habe déjà un peu herumgestöbert et dank qui Aider vom XLehrbuch de Dietmar Horn aussi déjà kleinere Programme geschafft.

eh bien soll je pour une zwölfte super une Abiturrechner programmieren. cette soll so marcher, dass on alle Fächer inkl. Punkte eingibt et qui Abirechner anhand div. Vorgaben (Abiprüfungsfächer volonté 5-matière gewertet, chez l'élection einer Zusatzprüfung 4-matière etc.) qui Endpunktzahl errechnen.

eh bien suis je am Überlegen, comment on cela avec qui Eingabe am besten régulariser sollte.
Am liebsten wäre mir oui eigentlich une Tabelle (ähnlich Excel) dans qui qui Anwender simple selber Werte eingebn peux. là je pour direct rien trouvé habe, voulais je cela ganze sur une le détour faire, indem qui Anwender dans vordefinierten CheckBoxen sa Fächer auswählt et cet ensuite sur qui Tabelle übertragen volonté. Ist es dabei possible trop définir, comment viele Checkboxen gewählt volonté dürfen?

peut-être peux mir quelqu'un de euch chez qui Solution cet Problems aider, bzw. mir sogar une encore bessere Solution pour qui Implementierung qui Userdaten dans mon Programme proposer.

Mfg Peter
 
25.08.2013  
 




Julian
Schmidt
Energizer (25.08.13)

eh bien suis je am Überlegen, comment on cela avec qui Eingabe am besten régulariser sollte.
Am liebsten wäre mir oui eigentlich une Tabelle (ähnlich Excel) dans qui qui Anwender simple selber Werte eingebn peux. là je pour direct rien trouvé habe, voulais je cela ganze sur une le détour faire, indem qui Anwender dans vordefinierten CheckBoxen sa Fächer auswählt et cet ensuite sur qui Tabelle übertragen volonté.


prends pour doch simple Choiceboxen/Auswahllisten. et bau deine Tabelle z.B. ähnlich comment ici sur [...] .
Pour qui Beschriftung peux du z.B. CreateText verwenden.

Alternativ könntest du aussi qui Listview.dll[...]  verwenden. cet Tabelle serait ensuite qui optique et den Feeling de Excel näher venons.
 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
25.08.2013  
 




Energizer
So erstmal merci pour deinen Hinweis.
Tut mir Leid, dass je maintenant seulement antworte hatte quelque chose à Ohren ;)
Hab maintenant aussi déjà beide Varianten probiert et quelque chose avec cela rumgespielt.
cependant ist qui l'affaire avec qui Listview.dll pour mich überzeugender, déjà seul weil dass Programme oui pas seulement pour mich ist, mais aussi pour un paire Schüler ;)

comment kriege je cela maintenant avec qui Tabelle so hin, je werde aus qui Aider malheureusement pas malain ^ ^

alors je hatte mir gedacht, dass mon Felder oui eigentlich alle per main eintragbar son devoir, sauf qui dernier Spalte dans qui lediglich berechnet wird. en supplément J'ai eu mir dans qui Listview.dll Aider qui Funktion EditManual angeschaut. cependant ca sera tout pour mich absolutes Neuland, pourrait mir cela peut-être quelqu'un expliquer ?

lg Energizer
 
25.09.2013  
 




Thomas
Freier
Beim Einsatz qui Listview.dll gibt es trois Opportunités qui Items trop éditer.
avec EnableEdits(listview&,1+4) . Pour Aktivierung peut alle Items sur qui Pfeiltasten angesteuert et editiert volonté.
avec SelectColumnEdits(listview&,addr(text$)) peut Spalten ausgeschlossen volonté.
KompilierenMarqueSéparation
Declare lvdll&,text$,x&,y&,z&,listview&
Def GetSysColor(1) !"USER32","GetSysColor"
var Font& = @CREATE("FONT","NEW TIMES ROMAN",14,0,0,0,0)
 $I Listview_Funktionen.inc
lvdll&=usedll("Listview.dll")
SetTrueColor 1
Window 400,400
Cls GetSysColor(15)
listview&=CreateListView(%hwnd,%hinstance,0,GetSysColor(24),-1,$31)
'Spalten erstellen
text$="A,B,C"
SetColumnsFromMem(listview&,addr(text$),0)
SetFont listview&,Font&
SetDialogFont Font&
'Leerzeilen erstellen

Whileloop 5

    SetItem listview&,"","",""

EndWhile

'Spaltenbreite
SetColumnWidth(listview&,0,100)
SetColumnWidth(listview&,1,100)
SetColumnWidth(listview&,2,100)
ShowListView(listview&,10,48,354,270)
InitMessages(%hwnd)
EnableEdits(listview&,1+4)'Item editierbar nach Doppellinksklick
UserMessages 16

While 1

    waitinput
    Case %UMessage = 16 : BREAK

Wend

messagebox("wird beendet","Programm",32)
setfocus(%hwnd)
DestroyWindow(%hwnd)
CloseMessages(%hwnd)
freedll lvdll&
Fin

avec EditManual(listview&,&uwParam, &ulParam,0) wird seulement im gewähltem Item un Éditer-champ erstellt.
KompilierenMarqueSéparation
Déclarer lvdll&,text$,x&,y&,z&,listview&
Def GetSysColor(1) !"User32","GetSysColor"
var Font& = @CREATE("FONT","NEW TIMES ROMAN",14,0,0,0,0)
 $I Listview_Funktionen.inc
lvdll&=usedll("Listview.dll")
SetTrueColor 1
Fenêtre 400,400
Cls GetSysColor(15)
listview&=CreateListView(%hwnd,%HINSTANCE,0,GetSysColor(24),-1,$31)
text$="A,B,C"
SetColumnsFromMem(listview&,addr(text$),0)
SetFont listview&,Font&
SetDialogFont Font&

Whileloop 5

    SetItem listview&,»,»,»

Endwhile

SetColumnWidth(listview&,0,100)
SetColumnWidth(listview&,1,100)
SetColumnWidth(listview&,2,100)
ShowListView(listview&,10,48,354,270)
InitMessages(%hwnd)
usermessages $1407, 16

Tandis que 1

    waitinput
    Cas %UMessage = 16 : BREAK
    'pour Doppellinksklick Item,

    Si %umessage=$1407

        Si Getfocus(Listview&)

            IF &uwParam=1'ici seulement 2.Spalte(index =1) éditer

                EditManual(listview&,&uwParam, &ulParam,0)'Spaltenindex, Zeilenindex (nullbasierend)

            Endif

        EndIf

    EndIf

Wend

messagebox("wird beendet","Programm",32)
CloseMessages(%hwnd)
freedll lvdll&
Fin

ensuite encore qui Possibilité alles selbst dans qui main prendre um z.B. aussi un Éditer avec besonderen Eigenschaften(z.B.:seulement payons), une Auswahlbox, un "DateEdit", usw., beim Item trop platzieren, et ggf. per TAB qui Items trop échanger.
KompilierenMarqueSéparation
Déclarer bereich#,lvdll&,text$,x&,y&,z&,listview&
Def GetSysColor(1) !"User32","GetSysColor"
Faible bereich#,256
var Font& = @CREATE("FONT","NEW TIMES ROMAN",14,0,0,0,0)
 $I Listview_Funktionen.inc
lvdll&=usedll("Listview.dll")
SetTrueColor 1
Fenêtre 400,400
Cls GetSysColor(15)
listview&=CreateListView(%hwnd,%HINSTANCE,0,GetSysColor(24),-1,$31)
text$="A,B,C"
SetColumnsFromMem(listview&,addr(text$),0)
SetFont listview&,Font&
SetDialogFont Font&

Whileloop 5

    SetItem listview&,»,»,»

Endwhile

SetColumnWidth(listview&,0,100)
SetColumnWidth(listview&,1,100)
SetColumnWidth(listview&,2,100)
ShowListView(listview&,10,48,354,270)
InitMessages(%hwnd)
usermessages $1407
AddHotKey 7001, 13, 0'Retour
AddHotKey 7002, 9, 0'TAB à gauche
AddHotKey 7003, 9, 2'TAB à droite
AddHotKey 7009, 27, 0

Tandis que 1

    waitinput
    Cas %clé=2:BREAK
    cas %umessage=$1407: EDIT &uwParam, &ulParam'Spaltenindex ,'Zeilenindex (nullbasierend)

Wend

CloseMessages(%hwnd)
freedll lvdll&
Fin

Proc Éditer

    Paramètres spalte%,la ligne%
    Déclarer Ede_del2&
    INHALT
    @Créer("Tooltip", %hWnd ,Ede_del2& ,"Esc=Abbruch, Wert avec Enter prendre.")
    SetFocus(Ede_del2&)

    Tandis que 1

        WaitInput
        cas iskey(27):BREAK'Abbruch ESC

        Si MenuItem(7001) OU (%MouseKey=2)'Sauver: Enter ou bien rechte Bouton de la souris gedrückt

            SetText Listview&,la ligne%,Spalte%,$ Trim(GetText $(Ede_del2&))
            BREAK

        ElseIf MenuItem(7002)'TAB avant

            SetText Listview&,la ligne%,Spalte%,$ Trim(GetText $(Ede_del2&))
            cas Spalte%<GetColumns(Listview&)-1: inc Spalte%
            INHALT

        ElseIf MenuItem(7003)'TAB rück

            SetText Listview&,la ligne%,Spalte%,$ Trim(GetText $(Ede_del2&))
            cas Spalte%>0 : dec Spalte%
            INHALT

        EndIf

        Ifnot getfocus(Ede_del2&)' Éditer verliert den Concentrer, Eingabe verwefen

            BREAK

        EndIf

    Wend

    DestroyWindow(Ede_del2&)
    setfocus(%hwnd)

ENDPROC

Proc le contenu

    DestroyWindow(Ede_del2&)
    Claire bereich#
    Text$=$ Trim(GetText $(Listview&,la ligne%,Spalte%))'alter le contenu
    GetOwnControlParas(bereich#,Listview&,Spalte%,la ligne%)
    var opx&=Long(bereich#,12)'X Offset
    var opy&=Long(bereich#,16)'Y Offset
    var opb&=Long(bereich#,20)'Breite
    var oph&=Long(bereich#,24)'Hauteur
    Ede_del2&= @Créer("Edit", Listview& ,Text$,opx&,opy&,opb&,oph&)
    SetFont Ede_del2&,Font&
    SetFocus(Ede_del2&)
    SendString(Ede_del2&,"+ ({FIN})")'Text Marque et Cursor à l' Ende

ENDPROC

 
Gruß Thomas
Windows XP SP2, XProfan X2
25.09.2013  
 




H.Brill
ici la fois un kleines Beispiel de mir.
là peux du dir oui quoi raussuchen:
KompilierenMarqueSéparation
 $I Listview_Funktionen.inc
Declare hd%, ende%, lvdll&, Grid&, edits$
lvdll&=usedll("Listview.dll")
edits$ = "1111"' alle Spalten editierbar
hd% = @Create("Window",%HWnd,"Editieren mit rechter Maustaste",10,10,800, 300)
ende% = @Create("Button", hd%, "Ende", 20, 10, 120, 20)
Grid&=CreateListview(hd%,%hinstance,0,$ffffff,-1,$31)
' Spalten definieren
InsertColumn(Grid&, "Name", 220, 0)
InsertColumn(Grid&, "Wohnort", 150, 0)
InsertColumn(Grid&, "Straße", 150, 0)
InsertColumn(Grid&, "Telefon", 120, 0)
' zwei Einträge ins Listview
SetItem Grid&, "Maier", "Hamburg", "Hauptstr.", "4711"
SetItem Grid&, "Müller", "Köln", "Feldstr.", "4711"
' Listview anzeigen u. Optionen (EnableEdits) setzen
ShowListview(Grid&, 10, 40, 600, 200)
InitMessages(hd%)' nötig wegen EnableEdits
EnableEdits(Grid&, 1+8)
SelectColumnEdits(Grid&, Addr(edits$))

WhileNot @Clicked(ende%)

    WaitInput

EndWhile

FreeDll lvdll&
Fin
 
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.
25.09.2013  
 




Energizer
chez qui la ligne:

$I Listview_Funktionen.inc

Bringt il chez mir toujours den Abbruch. Woher bekomme je car cet Dossier?
 
26.09.2013  
 




Thomas
Freier
qui ist dans qui ListviewDll.zip . Je pour dem comment on arbeitet, doit, si vous dans einem anderen Dossier abgespeichert, den Pfad trop son anpasst volonté, si on cela pas im Programmeditor einstellen peux. cela Sicherste ist, vous avec qui Listview.dll im Arbeitsordener abzuspeichern.
 
Gruß Thomas
Windows XP SP2, XProfan X2
26.09.2013  
 




Energizer
@Thomas Freier:
merci pour deine schnelle Aider! Votre erste Possibilité comme mir très bien, là werde je la fois quelque chose plus rumprobieren ;)

@H.Brill:
aussi deine variante ist ähnlich qui de Thomas, je denke la fois là werde je mir quoi zusammenschustern ;)

1. Finde qui variante de Thomas aufgrund qui Funktion zum "sperren" einer Spalte très bien. avec welchem Befehl bekomme je ici eh bien une Vorgabetext hinein?
Hätte mir gedacht là Vorgaben comment "LK1" etc. reinzuschreiben ... pour qui pas so avec savons bedachten gens ;)

Vielen Dank gens, son helft einem Débutant comment mir wirklich très! ;)
 
26.09.2013  
 




Thomas
Freier
Über qui Funktionen qui Listview.dll beim Anlegen qui Leerzeilen z.B.:
KompilierenMarqueSéparation
Whileloop 5

    SetItem listview&,"","LK1",""

EndWhil

un Item avec SetItemText(H,T,S,L) .
là XProfan 11.n verwendet wird, peut aussi qui Funktionen le Gridboxen verwendet volonté.
 
Gruß Thomas
Windows XP SP2, XProfan X2
26.09.2013  
 




Energizer
ok alors j'ai maintenant une Tabelle avec mehreren Spalten et zeilen, so comment je mir cela ganze wünsche ;) aussi avec vorschrift dans den feldern.

maintenant serait je seulement volontiers une einzelne la ligne et une einzelne spalte "schreibgeschützt" faire

z.b. pour spalte 6 et la ligne 12

PS: aussi serait je volontiers qui tabelle größer faire, so dass je alle felder gleichzeitig vois, finde malheureusement seulement ne option um cela la fenêtre trop agrandir?

lg ;)
 
26.09.2013  
 




Thomas
Freier
ensuite scheidet qui variante 1 aus. seulement sur variante 3 ist cela possible.
simple qui Bedingungen abfragen, z.B.:
KompilierenMarqueSéparation
If %umessage=$1407

    IfNot (&uwParam=5) AND (&ulParam=11)'Doppellinksklick: edit Item

        EDIT &uwParam, &ulParam'Spaltenindex ,'Zeilenindex (nullbasierend)

    Endif

/a>

PS. variante 2 allez naturellement aussi, si aucun speziellen EDITs verwendet volonté.
 
Gruß Thomas
Windows XP SP2, XProfan X2
26.09.2013  
 




Energizer
bien alors hab maintenant probiert, spalten/zeilen encore drin udn so mais comment bekomme je maintenant mehrer zeilen ou bien spalten "editierfähig" ?

hab maintenant versucht dans folgende la ligne:
KompilierenMarqueSéparation
IF &uwParam=1'hier nur 2.Spalte(Index =1) editierenre>

derrière qui 1 encore 2, 3 etc trop écrivons (avec kommas pour qui anderen spalten) hat mais
malheureusement pas geklappt

comment mach je cela maintenant? ;)
 
26.09.2013  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

12.896 Views

Untitledvor 0 min.
Thomas Zielinski20.12.2022
Walter08.05.2021
Normann Strübli24.03.2020
Jörg Sellmeyer12.06.2019
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie