amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > Programmierhinweise AmiBlitz3 erbeten [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

03.06.2010, 23:30 Uhr

gerograph
Posts: 621
Nutzer
Nabend,

momentan programmier ich mit AmiBlitz3 und nutze für das GUI den Stormwizard. Beides gefällt mir sehr gut, erste Ansprechstation ist sicherlich Amiforce.de. Dort kann ich mich aber aus irgendeinem Grunde nicht anmelden, deswegen bis zur Klärung mache ich mal hier einen Thread auf, mit der Bitte um Hilfe bei jetzigen und später aufkommenden Fragen zu AmiBlitz3:

1. Kann man mittels einer AmiBlitz Include/lib die OS4 typischen OK/Cancel Requester (d.h. mit Piktogramm/Icon) aufrufen, oder muß ich es mir selber basteln ?

2. In welche Richtung muß ich recherchieren (oder gibts gar ne Funktion) um die Previewbilder aus einer JPG Datei auszulesen ?

3. Hinweise zu Funktionen fürs Ausdrucken von Farbbildern...

vielen Dank für die Hilfe

Gruß gerograph

[ - Antworten - Zitieren - Direktlink - ]

04.06.2010, 11:09 Uhr

Der_Wanderer
Posts: 1229
Nutzer
1. Das kommt drauf an mit welcher Library OS4 die Requester erzeugt.

Probiere doch mal
code:
XINCLUDE "error.include.bb2"
If ask{"Hoppla, watt nun?","Mache es!|Ooops!"}
  ; whuuhou!
Else
  ; ehm, no
EndIf
End


Das verwendet EasyRequest() aus der intuition.library, also OS4 Bestandteil.

2. Ist mir nicht bekannt. Dafür wirst du wohl einen eigenen Decoder schreiben müssen. Selbst die jpeg.library kann das meines wissens nach nicht. Hätte ich aber auch schonmal gebrauchen können.

3. Keine Ahnung.
--
--
Author of
HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, AB3 Includes und viele mehr...
Homepage: http://www.hd-rec.de


[ - Antworten - Zitieren - Direktlink - ]

04.06.2010, 11:24 Uhr

thomas
Posts: 7717
Nutzer
Zitat:
Original von gerograph:
2. In welche Richtung muß ich recherchieren (oder gibts gar ne Funktion) um die Previewbilder aus einer JPG Datei auszulesen ?


Wenn du nichts fertiges findest, dürfte das ein guter Startpunkt sein: http://www.w3.org/Graphics/JPEG/
Am Ende der Seite gibt es zwei PDF-Dokumente über die Komprimierung und das Dateiformat.


Zitat:
3. Hinweise zu Funktionen fürs Ausdrucken von Farbbildern...

Falls AmiBlitz nichts fertiges bieter, RKRM über printer.device.

Gruß Thomas

--
Email: thomas-rapp@web.de
Home: thomas-rapp.homepage.t-online.de/

[ - Antworten - Zitieren - Direktlink - ]

04.06.2010, 13:14 Uhr

gerograph
Posts: 621
Nutzer
@thomas:
Oh, je... mal schauen...

[ - Antworten - Zitieren - Direktlink - ]

04.06.2010, 13:19 Uhr

gerograph
Posts: 621
Nutzer
@Der_Wanderer:
O.k. Danke, funktioniert aber nicht, bekomme zwar einen Requester, aber nicht mit "Pictogramm". Hab mal in die RKM reingeschaut, dort steht was über EasyRequest() verstehe ich ersteinmal nicht viel... ist aber auch ne alte Version von der AOS 3.5 Dev CD V2.1. Wahrscheinlich wurde da etwas geändert, denn irgendwo muß ich ja als Parameter übergeben ob ich als Piktogramm ein Fragezeichen, Ausrufezeichen etc... haben möchte !

Gruß Gerograph

[ - Antworten - Zitieren - Direktlink - ]

04.06.2010, 14:50 Uhr

ZeroG
Posts: 1487
Nutzer
@gerograph:
Bilder in Requestern anzeigen kann die requester.class ab V50 (erste öffendliche OS4.0 Betaversion).

[ - Antworten - Zitieren - Direktlink - ]

08.06.2010, 14:54 Uhr

gerograph
Posts: 621
Nutzer
Noch ne Frage:

vielleicht bin ich blind, aber gibt irgendwo ne Funktion um ein Verzeichnis/Verzeichnis Inhalt (ohne Schleife) zu löschen... ?

dos_Delete {"pfad:#?"} geht nicht.

dank gerograph



[ - Antworten - Zitieren - Direktlink - ]

08.06.2010, 17:24 Uhr

Der_Wanderer
Posts: 1229
Nutzer
Nein, sowas gibts nicht und man sollte mit sowas auch wahnsinnig vorsichtig sein.
Es gibt ein Tool von mir "RDelete" was rekursiv alles löscht was matched. Daraus könntest du dir eine Funktion bauen.

Hier ist der Code.
Hat natürlich noch einiges Klim-Bim drin was du evtl. nicht brauchst.
Ich finde dieses Tool sehr hilfreich um z.b. .svn Information zu löschen.

z.B.
Rdelete RAM:ReleaseCandidate/#?.svn -force -dirs

code:
optimize 7
Syntax 2

XINCLUDE "dos.include.bb2"

Function.l rdelete{path.s,all.l}
  SHARED dos_pattern.s,force.l,dirs.l,docase.l,delempty.l

  filecount.l = -1
  lock.l = Lock_(&path.s,#ACCESS_READ)

  *fib.FileInfoBlock = AllocDosObject_(#DOS_FIB,#TAG_DONE)

  If lock><0 AND *fib><0
    If Examine_ (lock,*fib)
      filecount  = 0
      delcount.l = 0
      While ExNext_(lock,*fib)
        filename.s = dos_AddPart{path.s,Peek.s(&*fibfib_FileName)}
        If *fibfib_DirEntryType<0
          If all=False
            If docase
              delit.l = MatchPattern_ (&dos_pattern.s,&*fibfib_FileName)
            Else
              delit.l = MatchPatternNoCase_ (&dos_pattern.s,&*fibfib_FileName)
            End If
          Else
            delit.l = True
          End If
          If delit
            If force
              dos_SetProtect{filename,0}
            End If
            If dos_Delete {filename.s}
              NPrint filename.s,"...deleted"
              delcount+1
            Else
              NPrint filename.s,"...NOT deleted"
              filecount+1
            End If
          Else
            filecount+1
          End If
        Else
          If dirs
            If all=False
              If docase
                delit.l = MatchPattern_ (&dos_pattern.s,&*fibfib_FileName)
              Else
                delit.l = MatchPatternNoCase_ (&dos_pattern.s,&*fibfib_FileName)
              End If
            Else
              delit=True
            End If
            If delit Then delall.l = True : Else delall =False
          Else
            delall.l = False
          End If
          If rdelete{filename.s,delall}
            If delall=False Then filecount+1 : Else delcount+1
          End If
        End If
      Wend
    End If
    UnLock_ lock

    If filecount=0
      If all><0 OR (delempty><0 AND delcount>0)
        If dos_Delete{path.s}
          NPrint "<DIR> ",path.s,"...deleted"
        Else
          NPrint "<DIR> ",path.s,"...NOT deleted"
        End If
      End If
    End If
  End If

  If *fib Then FreeDosObject_ #DOS_FIB,*fib : *fib=0

  Function Return filecount
End Function

patt.s     = "#?.bak"
path.s     = ""
force.l    = False
dirs.l     = False
showhelp.l = False
err.l      = False
docase.l   = False
delempty.l = False

; Get the required CLI arguments ...
patt.s = dos_GetNextArg{} ; first read the filename
If patt = ""
  NPrint "*** ERROR: No pattern specified!"
  err.l=True
End If

; Get the optional CLI arguments
Repeat
  arg.s = dos_GetNextArg{} ; get the next CLI argument
  larg.s = LCase$(arg) ; lower case the option string
  Select larg
    Case "-force"
      force.l = True
    Case "-dirs"
      dirs.l = True
    Case "-d"
      path.s = dos_GetNextArg{}
    Case "-case"
      docase = True
    Case "-h"
      showhelp = True  ; show the help and quit
    Case "-empty"
      delempty = True
    Default
      If arg><""
        NPrint "*** ERROR: Unknown option \22",arg,"\22 specified!"
        err = True
      End If
  End Select
Until arg = "" ; until we processed all arguments

; Show the help if something went wrong or help was requested
If err><False OR showhelp = True
  NPrint "n  Syntax : RDelete <pattern> [options]"
  NPrint "n    required:"
  NPrint "    <pattern>      : dos pattern, e.g. #?.bak"
  NPrint "n    optional:"
  NPrint "    -d <dir> : directory where to start deleting"
  NPrint "    -force   : force protected file to be deleted"
  NPrint "    -dirs    : delete also directories that are matching the pattern"
  NPrint "    -empty   : delete directories that became empty"
  NPrint "    -case    : no case sensitive"
  NPrint "    -h       : show this help"
  NPrint "n  Example :"
  NPrint "    RDelete \22DH0:Files#?.bak\22 -forcen"
  NPrint "Description:n"
  NPrint "Will delete recursive all files matching the dos pattern."
  End
End If
path.s = dos_AddPart{path.s,dos_PathPart{patt}}
patt.s = dos_FilePart{patt}

tempbuf.s = LSet$(" ",FLen(patt.s)*3+4)
If docase
  ParsePattern_ &patt.s,&tempbuf.s,FLen(tempbuf.s)
Else
  ParsePatternNoCase_ &patt.s,&tempbuf.s,FLen(tempbuf.s)
End If
dos_pattern.s = Peek.s(&tempbuf.s)

NPrint "Scanning "+path+" for "+patt.s+" files to delete..."
rdelete {path.s,False}
NPrint "Done."
End


--
--
Author of
HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, AB3 Includes und viele mehr...
Homepage: http://www.hd-rec.de


[ - Antworten - Zitieren - Direktlink - ]

08.06.2010, 20:04 Uhr

gerograph
Posts: 621
Nutzer
@Der_Wanderer:
Danke, aber letztendlich ist es immer dos_Delete... hab mir ne repeat Schleife gebaut die den Inhalt des Verzeichnisses löscht....

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > Programmierhinweise AmiBlitz3 erbeten [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.