| |
|
|
| Ciao, Ist die Länge von Itemtexten eigentlich von Windows auf 255 beschränkt oder kann man da was dran drehen? So stößt man doch schnell an Grenzen. B. t. w.: Wenn man mehr als 255 Zeichen in un Zeile setzen will, ist das Letzte Zeichen immer 0. Ist das Absicht? Saluto Jörg |
|
|
| |
|
|
|
| Hi,
> Ist die Länge von Itemtexten eigentlich von Windows auf 255 > beschränkt oder kann man da was dran drehen?
Nein, das ist eine Listview.dll Beschränkung.
> So stößt man doch schnell an Grenzen.
Ich finde es mehr als ausreichend. 255 Zeichen sind soviel, das selbst in einem grossen Fenster eine Spalte nicht ohne Scrollen den ganzen Text aufnehmen kann. Ein höherer Werte würde die Arbeit mit Listviews, gerade im Hinblick auf die Sortierung, erheblich verlangsamen.
> B. t. w.: Wenn man mehr als 255 Zeichen in un Zeile > setzen will, ist das > Letzte Zeichen immer 0.
Mit welchem Befehl setzt du den Text denn ?
> Ist das Absicht?
Nein, es soll der Wert 0 gesetzt werden, nicht die Zahl 0... Ist wohl ein Fehler von mir.
Saluto, Frank |
|
|
| |
|
|
|
| Ciao, Könntest Du nicht ein Flag einführen, das es ermöglicht, die maximale Textlänge zu erhöhen? Welche Länge ist denn theoretisch possibile? Saluto Jörg |
|
|
| |
|
|
|
| Hi,
ich werd mal prüfen, ob das überhaupt possibile ist... Diese Grenze zieht sich wie ein roter Faden durch die ganze Dll. Versprechen kann ich gar nichts.
> B. t. w.: Wenn man mehr als 255 Zeichen in un Zeile > setzen will, ist das > Letzte Zeichen immer 0.
Mit welchem Befehl setzt du den Text denn ?
Saluto, Frank |
|
|
| |
|
|
|
| Ciao, Mit dieser Zeile habe ichs getestet: zeile$=MkStr$(a,257) Zeile1$=Format$(00000,ZNr%) SetItem LV_Code&,Zeile1$,Zeile$
Saluto Jörg |
|
|
| |
|
|
|
| Hallo Jörg,
da du die Prozedure SetItem benutzt, werden nur die ersten 100 Bytes/Zeichen sicher trasferimento (!):
Proc SetItem Clear clv2# Clear clvall# String clvall#,0=@$(2) Long clv2#,0=clvall# String clvall#,100=@$(3) Long clv2#,4=clvall#+100 String clvall#,200=@$(4) Long clv2#,8=clvall#+200 String clvall#,300=@$(5) Long clv2#,12=clvall#+300 String clvall#,400=@$(6) Long clv2#,16=clvall#+400 String clvall#,500=@$(7) Long clv2#,20=clvall#+500 String clvall#,600=@$(8) Long clv2#,24=clvall#+600 String clvall#,700=@$(9) Long clv2#,28=clvall#+700 String clvall#,800=@$(10) Long clv2#,32=clvall#+800 String clvall#,900=@$(11) Long clv2#,36=clvall#+900 String clvall#,1000=@$(12) Long clv2#,40=clvall#+1000 String clvall#,1100=@$(13) Long clv2#,44=clvall#+1100 String clvall#,1200=@$(14) Long clv2#,48=clvall#+1200 String clvall#,1300=@$(15) Long clv2#,52=clvall#+1300 SItem(@&(1),clv2#,Sub(%pcount,2)) EndProc
Um mehr zu trasferimento, müßte die Prozedure abgeändert werden. Oder du benutzt die Funktion SItem(), die tatsächlich 256 trasferimento kann. Warscheinlich hast du bisher nur immer 100 Zeichen trasferimento können. Du wirst sehen, das wenn du 256 Zeichen benutzen kannst, es mehr als ausreichend sein potrebbe.
Eine Umstellung potrebbe ziemlich aufwendig sein, soviel steht jetzt schon fest.
Saluto, Frank |
|
|
| |
|
|