| |
|
|
Jörg Sellmeyer | Hallo Frank, Könntest Du vielleicht eine Funktion zur fortlaufenden Numerierung der Spalten einbauen? Etwa so: KompilierenMarkierenSeparieren
Proc SetNumbers
Parameters LV&,Spalte&,hdl&,Text$
Declare nr$,Lines&,00$
Lines& = GetLines(LV&)
00$ = MkStr$("0",Len(Str$(Lines&)))
If %pcount = 1
WhileLoop 0,Lines& -1
Case IsKey(27):Break
nr$ = Format$(00$,&Loop)
SetItemText(LV&,Addr(nr$),Spalte&,&Loop)
Wend
ElseIf %pcount = 3
WhileLoop 0,Lines& -1
Case IsKey(27):Break
nr$ = Format$(00$,&Loop)
SetItemText(LV&,Addr(nr$),Spalte&,&Loop)
SetText hdl&,Text$ + nr$
bei hoher Geschwindigkeit erübrigt sich das mit dem Text evtl. aber so ist eine
Fortschrittsanzeige möglich
Wend
EndIf
EndProc
Ich hatte neulich das Vergnügen einige -zigtausend Zeilen zu numerieren. In Assembler dauert das wahrscheinlich nur Millisekunden. Mit Profan habe ich nach 10 Minuten bei ca. 50000 abgebrochen. Gruß Jörg |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 02.03.2005 ▲ |
|
|
|
|
Frank Abbing | Hallo Jörg,
klar, sollte nicht allzu aufwendig sein. Allerdings werkle ich gerade an einer Add-On-Dll für die Listview.dll. Das hat höchste Priorität! |
|
|
| |
|
|
|
| Gib ihm doch einfach nen xpia-beispiel
Salve, iF |
|
|
| |
|
|
|
Frank Abbing | Hi,
könnte ich natürlich machen. Aber ich halte so eine Funktion für die Listview.dll für sehr sinnvoll. Darum werde ich sie dort aufnehmen. |
|
|
| |
|
|
|
| Richtig - finde ich auch Sinnvoll!
So ein Beispielchen wäre trotzdem sehr interessant und gut bei Deinen ASM-Beispielen aufgehoben - oder sogar hier.
Es würde halt zeigen wie man die Listview.DLL (wo es ja doch oft um viele Einträge geht) mit XPIA zusammen nutzen kann.
Salve, iF |
|
|
| |
|
|
|
Frank Abbing | Hi.
[quote:67a10e7051]Es würde halt zeigen wie man die Listview.DLL (wo es ja doch oft um viele Einträge geht) mit XPIA zusammen nutzen kann. [/quote:67a10e7051] Ist doch nur eine Schleife, in der eine Message immer wieder aufgerufen wird. Weder interessant, noch für sonderlich lehrreich. Und nur ganz wenig Assembler, dafür mehr Strukturen... |
|
|
| |
|
|
|
Jörg Sellmeyer | >Weder interessant, noch für sonderlich lehrreich.
Ooch... mach doch mal trotzdem :roll: |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 03.03.2005 ▲ |
|
|
|
|
| @Jörg: Du hältst Frank fest - ich kitzle Ihn an de Füße bis ihm der ASM-25-Zeiler ausm Gesicht fällt.
Salve, iF |
|
|
| |
|
|
|
CB | OhGottohGott ich habs mir gerade versucht, bildlich vorzustellen, wie das wohl aussehen mag, wenn Frank lachend und kichernd Assembler flucht |
|
|
| |
|
|
|
Jörg Sellmeyer | Das wär doch mal was! |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 04.03.2005 ▲ |
|
|
|
|
Frank Abbing | Hi,
wie, was? Eine Verschwörung? Ich kann die Funktion gerne hier posten, wenn sie fertig ist. Hab aber erst noch andere Sachen zu tun. |
|
|
| |
|
|
|
Frank Abbing | Hi,
die Funktion ist fertig und heisst SetLineNumbers(). Hier der Code, ich hoffe er ist verständlich: KompilierenMarkierenSepariereninvoke SendMessage,[ebp+8],4100,0,0
mov ecx,eax ; ecx = Anzahl Zeilen
xor edi,edi ; edi = Zeile = 0
.if ecx!=0
mov esi,[ebp+8] ; esi = Handle
mov edx,[ebp+12] ; edx = Startzeilennummer
routea:
push ecx
push edx
push edi
push edi
push [ebp+16]
push OFFSET unwichtig5
push [ebp+8]
invoke dwtoa,edx,addr unwichtig5
call SetItemText
pop edi
pop edx
pop ecx
inc edx
inc edi
cmp ecx,edi
jne routea
xor eax,eax
.endif
|
|
|
| |
|
|