| |
|
|
- Seite 1 - |
|
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 ▲ |
|
|
|
|
| |
|
- Seite 1 - |
|
| 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
|
|
|
| |
|
|
| |
|
- Seite 2 - |
|
|
Jörg Sellmeyer | Hallo Frank, Klasse! Kannste das bei Gelegenheit nochmal ein bischen kommentieren? Irgendwie ist dies Assemblerkrams für mich Chinesisch in Tüten. Gruß Jörg |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 13.03.2005 ▲ |
|
|
|
|
Frank Abbing | Hi,
die benutzten Register sind ja kommentiert. Die Pushs legen Werte auf dem Stack ab, die Pops holen sie wieder runter. Das Invoke ruft eine Funktion auf, um Zahlen in Strings zu wandeln. Das Call ruft eine andere Listview.dll-Funktion auf. Davor die Pushs sind die Parameter, in umgekehrter Reihenfolge auf dem Stack abgelegt. |
|
|
| |
|
|