|  |  | 
|  | 
|  | 
|  Manfred
 Barei
 | | Hallo, 
 habe ein Problm mit der GridBox
  , ich versuche sämtliche Einträge in einer GridBox zu löschen was aber nicht funktioniert, 
 Hier ein Beispielcode:
 KompilierenMarkierenSeparieren
  $P+
SET("ERRORLEVEL",0)
********************** HINWEISE ********************************
CODE ERZEUGT MIT ROKOS OBJECT CREATOR 4.6.5
DATUM  05.08.2008    um  16:42 Uhr
VERWENDETE PROFANVERSION IST 11.0-NT XPROFAN
CODE ERSTELLT UNTER WINDOWS VISTA
!!! Dieser Code wird von Roc immer neu erzeugt!!!
!!! Erst bearbeiten, wenn alle Objekte erzeugt wurden !!!
!!! Verändern Sie ggf. feste Pfade in variable Pfade
********************** DATEN ***********************************
>>>>> AB HIER KOPIEREN UND IN EIGENEN CODE EINBINDEN <<<<<<<<<<<<
DEF GETSYSCOLOR(1) !"USER32","GetSysColor"
SET("TRUECOLOR",1)
PROC DIALOG  ---------------------------------------------------------------------------> Dialoganfang
    DECLARE DLG&, DIALOGENDE%
    DECLARE GridListe&
    DECLARE BUTTON1&,BUTTON2&
    Declare TmpListe&
    Declare Ordnerpfad$,TmpPfad$
    proc GridBox_füllen
        DECLARE zähler%,eintrag$
        ClearList GridListe&
        @SendMessage(GridListe&,$0184,0,0)
        zähler%=0
        Whilenot zähler% = @GetCount(TmpListe&)
            eintrag$ = @SubStr$(@GetString$(TmpListe&,zähler%),1,".") + "|" + @SubStr$(@GetString$(TmpListe&,zähler%),2,".")
            @AddString(GridListe&,eintrag$)
            inc zähler%
        EndWhile
    endproc
    WINDOWSTYLE 31
    DLG&=CREATE("DIALOG",%HWND,"GridBox",(%maxx/2 - 265/2),(%maxy/2 - 299/2),265,299)
    USEFONT "MS Sans Serif",13,0,0,0,0
    SETDIALOGFONT 1
    TmpListe&=@Create("List",1)
    Ordnerpfad$ = getdir$("@")
    GridListe& = create("GridBox",DLG&,"Datei;0;120;Typ;0;60",3,0027,0027,0204,0164)
    BUTTON1& =@CREATE("BUTTON",DLG&,"Ordner wählen",0029,0216,0100,0030)
    BUTTON2& =@CREATE("BUTTON",DLG&,"Beenden",0159,0214,0070,0030)
    ClearList TmpListe&
    AddFiles "*.exe"
    @MoveListToHandle(TmpListe&)
    GridBox_füllen
    SETFOCUS(DLG&)
    DIALOGENDE%=0
    WHILENOT DIALOGENDE%
        WAITINPUT
        If %KEY=2
            DIALOGENDE%= 1
        ELSEIF CLICKED(GridListe&) GRIDBOX
        ELSEIF CLICKED(BUTTON1&) Ordner wählen
            TmpPfad$ = getdir$("@")
            Ordnerpfad$ = choosedir$("Ordner wählen")
            if (%button = 1)
                ClearList (TmpListe&)
                @SendMessage(TmpListe&,$0184,0,0)
                ChDir Ordnerpfad$
                AddFiles "*.exe"
                @MoveListToHandle(TmpListe&)
                GridBox_füllen
            else
                Ordnerpfad$ = TmpPfad$
                ClearList (TmpListe&)
                @SendMessage(TmpListe&,$0184,0,0)
                ChDir Ordnerpfad$
                AddFiles "*.exe"
                @MoveListToHandle(TmpListe&)
                GridBox_füllen
            endif
        ELSEIF CLICKED(BUTTON2&) Programm Beenden
            DIALOGENDE%= 1
        ENDIF
    ENDWHILE
    DESTROYWINDOW(DLG&)
    ENDPROC --------------------------------------------------------------------------------> Dialogende
    SET("AUTOPAINT",2)
    >>>>> HIER KOPIERENDE FÜR EIGENEN CODEEINBAU <<<<<<<<<<<<<<<<<<<<
    Das folgende Hauptfenster ist nur zum Testen:
    WINDOWTITLE "DUMMY HAUPTFENSTER"
    WINDOWSTYLE 63
    WINDOW (%maxx-300),10-280,80
    CLS RGB(0,0,0)
    Color 10,0
    PRINT "Bitte aufs Systemmenükreuz klicken "
    DIALOG Dialog aufrufen!
Nach dem wechsel in einen anderen Ordner sollen eigentlich die ersten Einträge in der GridBox gelöscht werden und die neuen Einträge erscheinen.
 Dies geschied aber nicht sondern die alten Einträge bleiben erhalten und die neuen Einträge kommen dazu.
 
 Was mache ich falsch?
  
 Gruß
 Manfred
 | 
 | 
|  | 
|  | | Zu wenig Wissen ist gefärlich, zu viel auch.(XProfan X4) | Win 10 Pro 64  | Win7 Ultimate 32/64 | AMD FX-8320, 16GB, GeForce GT 630 | | 05.08.2008  ▲ | 
 | 
|  | 
| 
 
 
 | 
|  | 
|  | | Es scheint mir nach kurzer Betrachtung als ob hier ein logisches Problem vorliegt, statt z.B. ein Problem mit ClearList. | 
 | 
|  | 
|  |  | 
|  | 
| 
 
 
 | 
|  | 
|  Dieter
 Zornow
 | | Du must bevor du addfiles benutzt erst die Listboxliste löschen, du löscht nur die Gridbox und tempbox.. das heißt deine Einträge sind noch in der Listboxliste 
 erst
 
 Clearlist
 addfiles
 
 Gruß
 
 Dieter
 | 
 | 
|  | 
|  | | Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2 | 05.08.2008  ▲ | 
 | 
|  | 
| 
 
 
 | 
|  | 
|  Manfred
 Barei
 | | Hallo Dieter, 
 ich lösche bei Betätigung des Ordnerbutton die TmpListe&, daran kann es also nicht liegen.
 Es werden vor dem füllen der GridBox alle Listen mit ClearList gelöscht, was aber anscheinent nicht funktioniert.
  
 Gruß
 Manfred
 | 
 | 
|  | 
|  | | Zu wenig Wissen ist gefärlich, zu viel auch.(XProfan X4) | Win 10 Pro 64  | Win7 Ultimate 32/64 | AMD FX-8320, 16GB, GeForce GT 630 | | 05.08.2008  ▲ | 
 | 
|  | 
| 
 
 
 | 
|  | 
|  RGH
 | | Löscht Du auch die XProfaneigene ListboxListe mit ClearList (ohne Parameter)? 
 Gruß
 Roland
 | 
 | 
|  | 
|  | | Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 05.08.2008  ▲ | 
 | 
|  | 
| 
 
 
 | 
|  | 
|  Manfred
 Barei
 | | Hallo Roland, 
 das wars, jetzt funktioniert es.
  Einfach vor ClearList Gridliste& ClearList und es funktioniert.
 KompilierenMarkierenSeparieren
 Sollte aber in der Hilfe erwähnt werden.
 
 Gruß
 Manfred
 | 
 | 
|  | 
|  | | Zu wenig Wissen ist gefärlich, zu viel auch.(XProfan X4) | Win 10 Pro 64  | Win7 Ultimate 32/64 | AMD FX-8320, 16GB, GeForce GT 630 | | 05.08.2008  ▲ | 
 | 
|  | 
| 
 
 
 |