Français
Forum

XProfan Editierbare Tabellenfelder

la fois wieder je ;)

 

Energizer
So gens, melde mich depuis langem aussi la fois wieder!

Habe maintenant la fois alles quelque chose pour mich angepasst.
ca ist maintenant erstmal qui Voir le texte source pour qui Tabelle, Sauver/magasin sowie qui Berechnung sommes dans anderen Schnipseln ;)
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)
text$="Kurs,HJ1,HJ2,HJ3,HJ4,Endpunktzahl"
SetColumnsFromMem(listview&,addr(text$),0)
SetFont listview&,Font&
SetDialogFont Font&

Whileloop 1

    SetItem listview&,"Deutsch LK"
    SetItem listview&,"Mathematik LK"
    SetItem listview&,"Englisch LK"
    SetItem listview&,"LK 4"
    SetItem listview&,"LK 5"
    SetItem listview&,"GK1"
    SetItem listview&,"GK2"
    SetItem listview&,"GK3"
    SetItem listview&,"GK4"
    SetItem listview&,"GK5"
    SetItem listview&,"GK6"
    SetItem listview&,"Optional:"
    SetItem listview&,"ZusatzGK1"
    SetItem listview&,"ZusatzGK2"
    SetItem listview&,"ZusatzGK3"

EndWhile

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

While 1

    waitinput
    Case %UMessage = 16 : BREAK
    'nach Doppellinksklick Item,

    If %umessage=$1407

        If Getfocus(Listview&)

            IF (&uwParam=1) OR (&uwParam=2) OR (&uwParam=3) OR (&uwParam=4)'hier nur 2.Spalte(Index =1) editieren

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

            Endif

        EndIf

    EndIf

Wend

messagebox("wird beendet","Programm",32)
CloseMessages(%hwnd)
freedll lvdll
lass=s4 href='./../../funktionsreferenzen/XProfan/end/'>Fin

maintenant habe je plusieurs Fragen/Probleme.

1. je serait volontiers qui la ligne "optional" pas editierfähig faire, allez cela ?
vous muss oui aussi pas absolument là dans qui Tabelle son, soll arrêt seulement si quelqu'un Zusatzkurse gewählt hat possible son, cet einzutragen!

2. Soll qui Tabelle pour ouvrir des Programms possible vollständig im la fenêtre trop voyons son, so dass je pas scrollen muss.

2.1 Ist es possible, dass sich qui Tabelle chez agrandir des Programmfensters aussi vergrößert?

3. après que dans den Spalten 2-5 qui Noten eingetragen wurden, brauche je une Option, um 42 FELDER avec Noten auszuwählen, quelle qui Abiturnoten ergeben devoir.

3.1 Besonders gentil/hilfreich wäre es, si gewisse Felder bereits vordefiniert et pas änderbar wären (z.B. Z.1-3, sowie Z. 6)
ca serait qui verpflichtend einzubringenden Noten kennzeichnen, si quelqu'un cet pas kennt.

peut-être avez son quelques idées et Anregungen pour mich ;)

LG et une schönen 1. Advent encore,
Peter
 
01.12.2013  
 




Julian
Schmidt
Energizer (01.12.13)

1. je serait volontiers qui la ligne "optional" pas editierfähig faire, allez cela ?
vous muss oui aussi pas absolument là dans qui Tabelle son, soll arrêt seulement si quelqu'un Zusatzkurse gewählt hat possible son, cet einzutragen!


Bien sûr allez cela, du musst simple seulement verhindern cela il pour cette la ligne qui Edierfunktion aufruft, etwa so...
KompilierenMarqueSéparation
Case &ulParam<>11 : EditManual(listview&,&uwParam, &ulParam,0)
>

Energizer (01.12.13)

2. Soll qui Tabelle pour ouvrir des Programms possible vollständig im la fenêtre trop voyons son, so dass je pas scrollen muss.
2.1 Ist es possible, dass sich qui Tabelle chez agrandir des Programmfensters aussi vergrößert?


cela Skalieren des Listviews avec qui Fenstergröße ist am einfachsten sur %WM_Paint lösbar. ici la fois un Beispiel avec einem mehrzeiligen Editierfeld.
KompilierenMarqueSéparation
CLS
Set("AutoPaint", 0)
Var edit&=Create("MultiEdit",%hwnd,"Ich bin skallierbar",10,10,width(%hwnd)-20,height(%hwnd)-20)

While 1

    WaitInput

    If %wmPaint

        SetWindowPos edit&=10,10 - width(%hwnd)-20,height(%hwnd)-20

    EndIf

Energizer  (01.12.13)

3. après que dans den Spalten 2-5 qui Noten eingetragen wurden, brauche je une Option, um 42 FELDER avec Noten auszuwählen, quelle qui Abiturnoten ergeben devoir.


exposition dir ici trop fois le whileloop Boucle à...

Energizer (01.12.13)

3.1 Besonders gentil/hilfreich wäre es, si gewisse Felder bereits vordefiniert et pas änderbar wären (z.B. Z.1-3, sowie Z. 6)
ca serait qui verpflichtend einzubringenden Noten kennzeichnen, si quelqu'un cet pas kennt.


quoi veux du oui c'est ca?

Salut

Julian
 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
01.12.2013  
 




Energizer
Bzgl. 1.)

j'ai mehrer Versionen ausprobiert, la fois ist gar rien passiert, teils était zwar qui la ligne optionnel pas editierbar, pour mais qui komplette 1. Spalte et teils était seulement la première Spalte dans la ligne 11 (qui dans qui "optional" steht) gesperrt, qui spalten derrière elle mais quand même editierbar.

Nochmal zum Verständnis: j'ai cet Tabelle. là soll qui komplette erste Spalte gesperrt son! Zusätzlich soll également qui GESAMTE la ligne 11 (bzw. 12), alors qui avec dem Text "Optional" gesperrt volonté. Ist cela realisierbar et si oui, à quel Stelle muss je là qui la ligne insérer?

2.

Tut mir Leid mais j'ai ici überhaupt je n'en sais rien, comment je cela Verwenden soll. j'ai versucht versch. Werte ou bien Schleifen trop prendre, hatte Fehlermeldungen et "nicht-plus-beendbare" Programme, mais malheureusement aucun skalierte Tabelle
Habe es nichtmal hinbekommen qui Tabelle allgemein Größer trop faire, dass wenigstens si je im Code un größeres "Window" einstelle, qui Tabelle là komplett angepasst wäre

3.
ah oui, whileloop, bien là hätte je selber sur elle venons peut. Sry là stand je simple sur dem Schlauch ... quelquefois sommes es qui simplen Dinge ;)

3.1
Folgendermaßen:
chez einer Minimalbelegung aller Fächer hätte on am Ende des Jahres 44 Semesternoten, aus denen sich qui Endpunktzahl berechnen serait (11 Kurse * 4 Semester) (naturellement sans Abiklausuren).

en peut mais seulement 42 Noten dans den Endpunktestand sur dem Abiturzeugnis eingebracht volonté, dass est 2 Noten tomber weg (logischerweise wählt on qui schlechtesten). Belegt on maintenant encore Zusatzkurse, hat on encore plus Noten zur Disposition, d.h. il peut am Ende aussi plus schlechte Noten rausfallen laisser.

cependant gibt es quelques Fächer, comment z.B. qui Abiturprüfungsfächer, qui zwingend dans qui Endzensur eingebracht volonté doit. Vermutlich kennt cependant pas chacun cet verpflichtend einzubringenden Kurse.
en supplément wäre es eh bien très hilfreich, si sous den 42 auszuwählenden Semesternoten, bereits qui markiert wären, qui zwingend eingebracht volonté doit et cet pas modifié (ausgeklickt) volonté peut.

était ca verständlich, sonst mach je vite nen Bild ou bien iwas um es trop verdeutlichen?
 
03.12.2013  
 




Thomas
Freier
peut-être hilft cet Beispiel plus:
KompilierenMarqueSéparation
 $H windows.ph
 $I Listview_Funktionen.inc
var lvdll&=usedll("Listview.dll")
Cls
~SetClassLong(%hwnd, ~GCL_STYLE, (~GetClassLong(%hwnd, ~GCL_STYLE)- ~CS_HREDRAW - ~CS_VREDRAW))
Var bb& = Create("Button",%hwnd,"Ende",0,0,0,0)
var listview&=CreateListView(%hwnd,%hinstance,0,$FFFFFF,-1,$31)
InsertColumn listview&,"1",80,0
InsertColumn listview&,"2",80,0
InsertColumn listview&,"3",80,0
InsertColumn listview&,"4",80,0
InsertColumn listview&,"5",80,0
InsertColumn listview&,"6",80,0

Whileloop 10

    AddString(listview&,"Test|||||")

wend

var dlg&=%hwnd
Declare _dlgw&,_dlgh&, _odlgw&, _odlgh&, Ende%,bereich#,S&,Z&,y&
dim bereich#,320
_odlgw&=width(dlg&)
_odlgh&=height(dlg&)
setwindowpos bb&=(_odlgw&-70),5 - 60,20;0
ShowListView(listview&,10,30,(_odlgw&-20),(_odlgh&-40))
InitMessages(%hwnd)

WhileNot Ende%

    WaitInput
    case %key=4:Grid_do
    case Getfocus(bb&): Ende%=1
    y&=GetControlParas(bereich#)
    S&=Long(bereich#,4)'Spalte
    Z&=Long(bereich#,8)'Zeile

    If y&=2'rechter Mausknopf wurde gedrück

        Ifnot S&=1

            IfNot Z&=3

                EditManual(Listview&,S&,Z&,0)

            EndIf

        EndIf

    EndIf

Wend

proc Grid_do

    _dlgw&=width(dlg&)
    _dlgh&=height(dlg&)

    if ( ( _odlgw&<>_dlgw& ) or ( _odlgh&<>_dlgh& ) )

        _odlgw&=_dlgw&
        _odlgh&=_dlgh&
        setwindowpos bb&=(_odlgw&-70),5 - 60,20;0
        setwindowpos listview&=10,30 - (_odlgw&-20),(_odlgh&-40);0

    endif

endproc

dispose bereich#
CloseMessages(%hwnd)
='./../../funktionsreferenzen/XProfan/freedll/'>freedll lvdll&
 
Gruß Thomas
Windows XP SP2, XProfan X2
03.12.2013  
 




Thomas
Freier

2. Soll qui Tabelle pour ouvrir des Programms possible vollständig im la fenêtre trop voyons son, so dass je pas scrollen muss.


là hilft seulement Berechnen de Hauteur et max. Breite des Zeilen- bzw. Headertextes : [...] 
ensuite den Font (Hauteur,ggf. eng) et qui erforderliche Spaltenbreite festlegen et testen.
 
Gruß Thomas
Windows XP SP2, XProfan X2
03.12.2013  
 




Energizer
vielen Dank Thomas!

tu as mir très geholfen, habe maintenant déjà presque alles chez mir erweitert, encore un paire Zeilen mais cela peux je aussi encore später faire!

avec cela wären Problem 1 et 2 gelöst !

maintenant devrait je seulement encore quoi pour Punkt 3 überlegen .
 
04.12.2013  
 




Thomas
Freier
Ab XProfan 11 nehme je qui Gridboxfunktionen et si nötig qui aus qui Listview.dll. Zeilen vorgeben z.B.:
KompilierenMarqueSéparation
AddString(listview&,"Deutsch LK|fest|fest|fest|fest")
AddString(listview&,"Mathematik LK|fest|fest|fest|fest")
AddString(listview&,"Englisch LK|fest|fest|fest|fest")
AddString(listview&,"LK 4")
AddString(listview&,"LK 5")
AddString(listview&,"GK1|fest|fest|fest|fest")
AddString(listview&,"GK2")
AddString(listview&,"GK3")
AddString(listview&,"GK4")
AddString( listview&,"GK5")
AddString(listview&,"GK6")
AddString(listview&,"Optional:")
AddString(listview&,"ZusatzGK1")
AddString(listview&,"ZusatzGK2")
AddString(listview&,"ZusatzGK3")

là probablement Zensuren, d.h., seulement payons et Trenner eingegeben volonté devoir, müssten qui Éditer-Felder selbst erzeugt volonté. Siehe Beispiel: Eigene_Eingaben. Weiterschalten per TAB ist peut-être pas absolument erforderlich.
Beispiel pour Éditer avec payons: [...] 
ou bien
KompilierenMarqueSéparation
Def GetSysColor(1) !"User32","GetSysColor"
cls GetSysColor(15)
UseFont Arial,15,0,0,0,0
SETDIALOGFONT 1
CreateText(%hwnd,"num. Eingabe max.: nn.nn",30,120,200,22)
var Ed&=Créer("Edit",%hwnd,»,30,165,80,20)
@sendmessage(Ed&,$00C5,3,0)'et sur 3 se mettre (n.n) begrenzt
SetFocus(Ed&)

Tandis que 1

    WaitInput
    cas %clé=2 : BREAK
    cas GETFOCUS(Ed&): NUMWERT Ed&,1'Handle, marque vorm Komma

Endwhile

Fin

Proc NUMWERT' AUSWERTUNG sur marque et se mettre

    Paramètres ED.N&,ED.N%
    var a$="abcdefghijklmnopqrstuvwxyz"
    a$=a$+Upper$("abcdefghijklmnopqrstuvwxyz")
    a$=a$+"!§$%&/()=?''*':;,-_²³{[]}\^°<>|++-"
    var c$=»

    WhileLoop len(a$)

        c$ = MID $(a$,&Boucle,1)' c$= qui nte Stringteil
        Settext ED.N&,@Translate$(gettext$(ED.N&),c$,»)' unzulässige effacer
        Settext ED.N&,@Translate$(gettext$(ED.N&),"..",".")' doppelte effacer

    Endwhile

    a$=$ Trim(gettext$(ED.N&))

    WhileLoop ED.N%+1

        @Match$("~.", a$)

        Si (%MatchPos>0) AND (%MatchPos<ED.N%+1)

            a$=" "+a$' Leerzeichen ou bien führende zéro

        EndIf

    Endwhile

    Si len(a$)=ED.N%

        cas @IsKey(8):a$=left$(a$,len(a$))
        casenot @IsKey(8):a$=left$(a$,ED.N%)+"."

    EndIf

    SetText ED.N&,a$
    sendmessage(ED.N&,$00B1,len(gettext$(ED.N&)),-1)'Cursor à l' Ende

ENDPROC

 
Gruß Thomas
Windows XP SP2, XProfan X2
04.12.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

6.268 Views

Untitledvor 0 min.
E.T.02.01.2016
RICOSCH12.10.2014
Georg Teles27.08.2014
Andreas Koch15.08.2014
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