| |
|
|
Hans Hermann | Hallo! Gibt es irgendwo eine (possibile simple) Möglichkeit (z. B. wie in Perl), Textzeilen einer TXT-File alphabetisch zu sortieren und gleichzeitig auf Doppel-Zeilen zu überprüfen und zu bereinigen? Vielen Dank! Hans |
|
|
| |
|
|
|
Jörg Sellmeyer | Hallo Hans,
Ich würde die Textdatei in un (unsichtbare) sortierte Listbox einladen und dann mit GetString die einzelnen Zeilen vergleichen. Dabei brauchst Du dann immer nur benachbarte Zeilen vergleichen und entdeckte Doppelte rausschmeißen. Saluto Jörg |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 22.10.2011 ▲ |
|
|
|
|
| |
|
| |
|
|
|
Julian Schmidt | Hier ein Quelltext zu Jörgs Vorschlag... KompilierenMarkierenSeparieren
Proc AddTextFileToListBox
Parameters liste&,file$,reset%
Declare tempedit&,size&,anzahlzeilen%,i%,buf#
FindFirst$(file$)
Case %IOResult: Return 0
Case reset%: SendMessage(liste&,$0184,0,0)'ListBox je nach Option leeren
Let tempedit&=Create("MultiEdit",GetActiveWindow(),"",0,0,0,1)
Set("FileMode",0)
Assign #1,file$
OpenRW #1
size&=GetFileSize(#1)
Dim buf#,size&+1
BlockRead(#1,buf#,0,size&)' Dateiinhalt einlesen...
CloseRW #1
SendMessage(tempedit&,$0C,0,buf#)'... und in temp. Edit schreiben
anzahlzeilen%=SendMessage(tempedit&,$0BA,0,0)
Dispose buf#
While i%<anzahlzeilen%
AddString(liste&,GetString$(tempedit&,i%))
Inc i%
Endwhile
DestroyWindow(tempedit&)' temp. Edit freigeben
Return 1
EndProc
Proc Delete_Double_Entries
Parameters liste&
var counter%=0
while counter%<>Getcount(liste&)-1
if GetString$(liste&,counter%)=GetString$(liste&,counter%+1)
DeleteString(liste&,counter%)
else
counter%=counter%+1
Endif
Endwhile
Return 1
EndProc
Cls
var listbox&=Create("ListBox",%hwnd,1,0,30,width(%hwnd),height(%hwnd)-30)
AddTextFileToListBox(listbox&,$WinPath+"\WIN.INI",1)
whileloop 10
AddString(listbox&,"Das ist ein Test")
Endwhile
print "Win.ini + 10 mal den String 'Das ist ein Test' eingeladen..."
waitinput
Delete_Double_Entries(listbox&)
print "Doppelte Listebox-Einträge entfernt"
While 1
WaitInput
s4 href='./../../funcion-referencias/xprofan/endwhile/'>Endwhile
Die Prozedur AddTextFileToListBox stammt allgemein aus [...]
[OFFTOPIC]hmm...If war schneller [/OFFTOPIC]
LG
Julian57 |
|
|
| |
|
|
|
| iF (23.10.11)
Einfach bei der Cerca oben mal "doppel" eingeben.
@Julian: Ganz schön umständlich.
Lieber rein mit input in Verbindung mit addString oder doch fgc (file_get_contents) ( [...] ) und dann explode und MoveArrToList. |
|
|
| |
|
|
|
| |
|
| |
|
|
|
Julian Schmidt | iF (23.10.11)
@Julian: Ganz schön umständlich. Lieber rein mit input in Verbindung mit addString oder doch fgc (file_get_contents) ( [...] ) und dann explode und MoveArrToList.
Ich sag ja ich hab die Prozedur einfach nur übernommen.....[...] Kann schon sein das es leichter geht. War eben ein alter Quelltext |
|
|
| |
|
|