![]() |
Anzeige:
|
|
|||||||
| XProfan Alles rund um die Programmiersprache XProfan. |
|
![]() |
|
|
LinkBack | Themen-Optionen | Ansicht |
|
|
#1 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
|
Kann ich eine angelegte Rubrik (Text in eckigen Klammern) eigentlich auch wieder entfernen?
Wenn nicht, dann bitte als Anregung auffassen.
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
|
#2 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
Mit reinem Profan glaube ich nicht...
Code:
'##################################################################################### '######### Code von AHT ######### '######### Gepostet für http://www.paules-pc-forum.de ######### '##################################################################################### Def WritePrivateProfileStruct(5) !"KERNEL32","WritePrivateProfileStructA" Def GetPrivateProfileStruct(5) !"KERNEL32","GetPrivateProfileStructA" Declare Section$,Key$,Wert$,File$,FileLöschen&,SectionDel&,KeyLesen&,KeyDel&,Flush&,Buffer#,Buffer% DEclare Ausgelesen#,Ausgelesen$,Default$,Länge% Windowstyle 31+512 Windowtitle "Struktur in eine INI schreiben und auslesen" Window 0,0-640,440 Let Section$="Eigene Daten" Let Key$="Mein Eintrag" Let Wert$="Mein eigener Wert" LET FILE$=$TempDir+"\TEST.INI" Let FileLöschen&=@CreateButton(%HWND,"INI Löschen",20,200,150,30) Let KeyLesen&=@CreateButton(%HWND,"Key '"+Key$+"' lesen",200,200,200,30) Let Flush&=@CreateButton(%HWND,"INI flushen",450,200,150,30) Let SectionDel&=@CreateButton(%HWND,"Sektion '"+Section$+"' Löschen",20,250,230,30) Let KeyDel&=@CreateButton(%HWND,"Key '"+Key$+"' Löschen",280,250,230,30) Let Buffer%=@len(Wert$)+1 Dim Buffer#,Buffer% Clear Buffer# String Buffer#,0=Wert$ WritePrivateProfileStruct(@Addr(Section$),@Addr(Key$),Buffer#,Buffer%,@Addr(File$)) Dispose Buffer# While %MENUITEM<>-2 Waitinput IF @Getfocus(KeyLesen&) CLS Locate 0,0 Set("Errorlevel",-1) Let Buffer%=((@len(@READINI$(File$,Section$,Key$))-2)/2) LET AUSGELESEN$=@READINI$(File$,Section$,Key$) Set("Errorlevel",0) CASE BUFFER%<=0 : Let Buffer%=4 DIM Ausgelesen#,Buffer% Clear Ausgelesen# PRINT "Ausgelesene Struktur="+AUSGELESEN$ GetPrivateProfileStruct(@Addr(Section$),@Addr(Key$),Ausgelesen#,Buffer%,@Addr(File$)) Print "Ausgelesener String="+@String$(Ausgelesen#,0) LET Länge%=@len(AUSGELESEN$)-@len(@Strin...gelesen#,0))*2 PRINT "Checksumme=$"+@RIGHT$(AUSGELESEN$,Länge%) Dispose Ausgelesen# Beep 1 ElseIF @Getfocus(SectionDel&) WritePrivateProfileStruct(@Addr(Section$),0,0,0,@Addr(File$)) Beep 1 ElseIF @Getfocus(KeyDel&) WritePrivateProfileStruct(@Addr(Section$),@Addr(Key$),0,0,@Addr(File$)) Beep 1 ElseIF @Getfocus(FileLöschen&) Assign #1,File$ Erase #1 Beep 1 ElseIF @Getfocus(Flush&) WritePrivateProfileStruct(0,0,0,0,@Addr(File$)) Beep 1 endif EndWhile
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
|
#3 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 09.02.2009
Ort: Bangkok
Beiträge: 686
|
Natürlich ginge das auch sehr einfach in Profan, bei mir ist es aber schon zu spät um noch noch zu coden. (2 Uhr nachts)
Prinzip Die Datei Zeile für Zeile einlesen und in die interne Liste schreiben bis zum gesuchten Eintrag dann alle Einträge überspringen bis zum nächsten Vorkommen von [ dann weiter in die Liste. Ini löschen und neu schreiben. fertig
__________________
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai. http://dieterzornow.gmxhome.de |
|
|
|
|
|
#4 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
Mit API 1 Befehl.
Code:
WritePrivateProfileStruct(@Addr(Section$),0,0,0,@Addr(File$))
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
|
#5 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
|
Das muss Roland einbauen, danke.
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
|
#6 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 09.02.2009
Ort: Bangkok
Beiträge: 686
|
Ich verwende ja auch die Api keine Frage, aber es ging ja darum
__________________
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai. http://dieterzornow.gmxhome.de |
|
|
|
|
|
#7 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 15.02.2009
Beiträge: 10.786
|
Eine einfache gibt es wohl nicht.
__________________
______________ Bitte Schnelltest durchführen: Neuer Virus, ahnungslose User seit Monaten infiziert! Mfg AHT |
|
|
|
|
|
#8 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 09.02.2009
Ort: Bangkok
Beiträge: 686
|
Ob sich das lohnt in Profan einzubauen, ist ja bloß eine Kleinigkeit.
Hier mal ein paar Routinen, die nicht in Profan enthalten sind. Läuft erst ab XProfan 11 Code:
'Autor Dieter
'Sektionen löschen, Schlüssel löschen, Sektionen und Schlüssel auflisten
proc delsection
parameters ini$,Section$
External("KERNEL32","WritePrivateProfileStructA",addr(section$),0,0,0,addr(ini$))
endproc
proc delsectionkey
parameters ini$,section$,key$
External("KERNEL32","WritePrivateProfileStructA",addr(section$),addr(key$),0,0,addr(ini$))
endproc
proc Getsections
parameters ini$
declare buffer#,section$[],temp$
dim buffer#, 1524
External("KERNEL32","GetPrivateProfileSectionNamesA",buffer#,sizeof(buffer#),addr(ini$))
temp$ = char$(buffer#,0,sizeof(buffer#))
dispose buffer#
var pos& = instr(CHR$(0)+chr$(0),temp$)
temp$ = left$(temp$,pos&-1)
section$[]= explode(temp$,chr$(0))
return section$[]
endproc
Proc getkeys
parameters ini$,section$
declare buffer#,section$[],temp$
dim buffer#,2000
External("KERNEL32","GetPrivateProfileSectionA",addr(section$),buffer#,sizeof(buffer#),addr(ini$))
temp$ = char$(buffer#,0,sizeof(buffer#))
dispose buffer#
var pos& = instr(CHR$(0)+chr$(0),temp$)
temp$ = left$(temp$,pos&-1)
section$[]= explode(temp$,chr$(0))
return section$[]
endproc
window 400,600 'liest die ganze Inidatei mit allen Sektionen und Schlüsseln
declare sec$[],key$[]
set("decimals",0)
var lb& = Create("Listbox",%hwnd,0,5,20,300,500)
sec$[] = Getsections($WinPath+"\\win.ini")
var count& = sizeof(sec$[])
print "Anzahl Sections:",count&
whileloop 0,sizeof(sec$[])-1
addstring(lb&,str$(&loop+1)+" -> "+sec$[&loop])
addstring(lb&," ")
key$[] = getkeys($WinPath+"\\win.ini",sec$[&loop])
whileloop 0,sizeof(key$[])-1
addstring(lb&,key$[&loop])
endwhile
addstring(lb&," ")
endwhile
waitkey
__________________
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai. http://dieterzornow.gmxhome.de |
|
|
|
|
|
#9 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
|
Klappt gut mit API.
Trotzdem wäre es nicht schlecht, das auch mit profanen Mitteln machen zu können, vielleicht so: WriteIni Inidatei$, rubrik$, "Text" = 0
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
#10 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 06.02.2009
Ort: Coswig
Alter: 27
Beiträge: 1.159
|
In XProfan 12 ist da schon was vorgesehen, also wartet mal ab.
__________________
XProfan-Profi (XProfan X2+XPIA) http://jacdelad.bplaced.net http://jacdelad.square7.ch |
|
|
|
|
|
|
#11 (Direktlink) | |
|
Stammuser
![]() Registriert seit: 05.01.2012
Ort: Landkreis Miltenberg
Alter: 48
Beiträge: 358
|
Zitat:
Habe ich schon lange gesucht, Danke für den Code. Gruß Fränki
__________________
Gruß Fränki Hobbyprogrammierer in XProfan(11.2)X2, Win7(32) Home, Win7(64) Home, XP Pro. Meine Homepage |
|
|
|
|
|
|
#12 (Direktlink) |
|
Erfolgreich angemeldet
![]() Registriert seit: 29.01.2012
Beiträge: 4
|
Hallo,
ich hatte neulich das gleiche Problem und bin auf XWriteINI aus der registry.pcu gestossen. Ist hier in diesem Forum zu finden.. Viele Grüße Max |
|
|
|
![]() |
|
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Neue Rubrik? | AHT | XProfan-Stammtisch | 5 | 01.01.2010 18:12 |
| Unter Rubrik Betriebssysteme Mac OS X oder bald dann auch... | Dual Core Lover | über das Forum | 2 | 01.06.2007 22:28 |
| linux entfernen ohne windows xp zu entfernen | Jaroszima | Linux | 12 | 16.04.2006 20:26 |
| Schwarze Streifen in der Rubrik Einstellungen/unter Software | Einstellungen | Windows XP | 14 | 11.01.2006 12:07 |