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

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

Erste << 15 16 17 18 19 -20- 21 22 23 24 25 >> Letzte Ergebnisse der Suche: 1229 Treffer (30 pro Seite)
Der_Wanderer   Nutzer

25.09.2008, 23:43 Uhr

[ - Direktlink - ]
Thema: AmiBlitz will nicht, welche alternative ist die Beste ?
Brett: Programmierung

Deine Aussgaen sind total widersprüchlich.
Erst schreibst du

> Und die onlinehilfe, naja, zumindest besser als das risige guide, wo man die kommandos nach kategorien suchen muss,

und danach beklagst du dich, dass es keinen Index gibt.

Lass dir gesagt sein: Es gibt beides.

Wenn du den Instruction-Browser aufrufst, und z.B. "Library" eingibst, dann bekommst du alle Befehle und Include-Functionen in denen was mit "Library" vorkommt, also auch OpenLibrary_().
Du kannst also gezielt nach Befehlen suchen, wo du eine Idee hast wie sie heissen könnten oder es vielleicht schon weisst. Per doppelklick springst du dann in den "riessigen" Guide, aber genau dahin wo du willst. Wenn du dort auf "Index" gehst, dann siehst du alle Befehle in derselben Bibliothek, die also verwandt sind.

Optional kannst du auch über "Help" im Menu in den riessigen Guide springen, und dich durchhangeln.



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

 
Der_Wanderer   Nutzer

25.09.2008, 23:38 Uhr

[ - Direktlink - ]
Thema: AmiBlitz will nicht, welche alternative ist die Beste ?
Brett: Programmierung

Ähem. Du hast da einiges missverstanden bzw. im Handbuch die Grundlagen nicht gelesen.

Also grundsätzlich gilt: möchtest du einen Rückgabe Wert haben, stehen die Parameter in Klammern. Möchtest du keinen haben, stehen die Parameter ohne Klammer da. Das kommt noch von BlitzBasic Zeiten.

Also wäre richtig:

*mylib.Library = OpenLibrary_("mylib.library",7)

und

If OpenDevice_ ("timer.device",#UNIT_MICROHZ,msg,0) = False
...

aber

OpenDevice_ "timer.device",#UNIT_MICROHZ,msg,0

wobei letzeres kein guter Stil ist, da man den Rückgabewert checken sollte.

Die Befehle mit "_" am Ende kommen von Libraires die auf BlitzBasic-Weg eingebunden wurden.

Das es kein Beispiel gibt, wie man eine Library öffnet, liegt daran dass Basic Progger selten Libraries öffnen. Das übernimmt normalerweise Basic.
Wenn du aber dennoch den OS Aufruf OpenLibrary benutzen willst, dann musst du im RKM nachgucken wie das geht. Dort kommt du netterweise per SHIFT+HELP über OpenLibrary direkt hin oder durch Doppelklick im Instruction Browser.
Wie das in Amiblitz syntaktisch umgesetzt wird ist Grundlage. Man kann ja nicht für jede OS Funktion ein Beispiel coden. Als Nachschlagewerk dient da das RKM, was in der Amiblitz3 Online Hilfe (Syntax+Autodocs) integriert ist.

Wenn du meinen Rat angenommen hättest und FD2Include benutzt hättest, hättest du auch sofort gesehen wie man eine Library in Amiblitz3 einbindet ohne eine Blitzlib daraus zu generieren (also das, was du scheinbar vor hast). Aber du wolltest es ja selbst machen.

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



[ Dieser Beitrag wurde von Der_Wanderer am 26.09.2008 um 00:10 Uhr geändert. ]
 
Der_Wanderer   Nutzer

25.09.2008, 20:09 Uhr

[ - Direktlink - ]
Thema: AmiBlitz will nicht, welche alternative ist die Beste ?
Brett: Programmierung

Yo, steht ja alles im Bugtracker.
Der Startup dauert deshalb länger u.a., weil die Online Hilfe für Includes drin ist und beim Start eingelesen wird. Da könnte man etwas beim Parsen der Textdatei optimieren. Unter WinUAE dauert das aber nicht wirklich lange. Es ist halt nur nicht mehr ganz "sofort".

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

 
Der_Wanderer   Nutzer

25.09.2008, 17:26 Uhr

[ - Direktlink - ]
Thema: AmiBlitz will nicht, welche alternative ist die Beste ?
Brett: Programmierung

Die Zeile würde korrekt lauten:

code:
*MyIntuitionBase.IntuitionBase = IntuitionBase; "IntuitionBase" ist leider schon eine Funktion,
                                              ; die den Pointer zur IntuitionBase zurückgibt
                                              ; deshalb können wir die Variable nicht so nennen
*nextscreen.Screen = *MyIntuitionBaseFirstScreen


Einen "." NACH einer Variablen gibt den Type an. Ein "*" VOR der Variablen definiert eine Pointer Variable. Anders als in C, wird der * immer mitgeführt. (ausser innerhalb von Newtypes).


Der Unterschied zwischen Print und NPrint ist, dass "N" ein Newline ans Ende setzt.
Also:

NPrint "Hallo Welt!"

macht das gleiche wie

Print "Hallo Welt!"+chr$(10)
oder
Print "Hallo Welt!n"

Unter WinUAE ist die Bild-Nach-Unten Taste die HELP-Taste.

Keiner verlangt von dir, dass du an AB3 mitentwickeln sollst. Lediglich eine Fehlerbeschreibung wäre sehr hilfreich. Das mit dem doppelten // ist doch schonmal ein Anfang ;-)
Werde das gleichmal in den Bugtracker eintragen.
Zum schnellen Workaround kannst du ja mal im ASL Requester das "/" am Ende des Pfades weglassen, wahrscheinlich geht's dann. Unter OS3.x wird der eigentlich immer entfernt. Deshalb ist mir das noch nie aufgefallen. Ich halte dich aber für intelligent genug, dass du da schon selbst drauf gekommen bist. Sollte also keine Hürde für dich darstellen.

Dass AB3 nach einer Weile freezed und/oder keine Executables erstellt ist komisch.
Wie schon erwähnt, hast du irgendwelche Patches laufen, oder nutzt du gar "AmiSys" ?

Gerade wenn du keine Zeit hast, solltest du Amiblitz ans Laufen bringen, da die Entwicklung viel schneller geht als in anderen Sprachen. Wie schon gesagt, probiere AmiKit oder eine nackte OS3.9 Installation. Dort wird es laufen. Mit WinUAE ist das ja kein Problem.

Amiblitz3 ist unabhängig von alten Blitzbasic installtionen. einfach entpacken, irgendwo hinlegen und starten, das sollte reichen.
Evtl. noch die Libs abgleichen.
Du solltest auch amiblitz gleich auf einen eigene Screen umlenken in den Prefs, am besten WB Clone. In dem nächsten Release werden wir das am besten per default so machen. Auf der WB gibt es in der Tat noch kleinere Glitches mit den Farben.

P.S.:

Grundlegendes findest du im Benutzerhandbuch:

http://www.amiforce.de/amiblitz/benutzerhandbuch/index.php

Es macht keinen Sinn für sowas hunderte von mini-Beispiel Sourcen zu erstellen, die letztendlich nix machen sondern nur zum Lesen da sind. Dafür gibt's das Handbuch.

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




[ Dieser Beitrag wurde von Der_Wanderer am 25.09.2008 um 17:45 Uhr geändert. ]
 
Der_Wanderer   Nutzer

25.09.2008, 09:38 Uhr

[ - Direktlink - ]
Thema: Rekrusives durchsuchen von Verzeichnissen
Brett: Programmierung

So mache ich das in Amiblitz3, und das funktioniert:
code:
Function.l scan {path.s}
DEFTYPE.FileInfoBlock fib
lock.l = Lock_(&path.s,#ACCESS_READ)
If lock
  If Examine_ (lock,&fib)
    While ExNext_(lock,&fib)
      filename.s = path.s+"/"+Peek.s(&fibfib_FileName)
      If fibfib_DirEntryType<0
        ; Datei!
      Else
        ; Verzeichnis!
        scan{filename.s}
      End If
    Wend
  End If
  UnLock_ lock
End If
End Function

scan{"DH0:ScanFromHere"}


P.S. das konkatenieren des Pfades mit dem Dateinamen habe ich mal mit "+" geschrieben, um keine unnötigen Amiblitz Befehle mit reinzubringen. Eigentlich sollte man AddPart aus der dos.library benutzen.
Um zukunftssicher zu ein, kannst du den DEFTPYE.FileInfoBlock mit
code:
*fib.FileInfoBlock = AllocDosObject_ (#DOS_FIB,#TAG_DONE)
...
FreeDosObject_ #DOS_FIB,*fib


ersetzen. Die Dateigröße steht in fibfib_Size.
BTW, wie ist das bei Dateien >=4GB gelöst (vorrausgesetzt, das Filesystem unterstützt das)?


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



[ Dieser Beitrag wurde von Der_Wanderer am 25.09.2008 um 09:40 Uhr geändert. ]

[ Dieser Beitrag wurde von Der_Wanderer am 25.09.2008 um 09:43 Uhr geändert. ]
 
Der_Wanderer   Nutzer

25.09.2008, 09:24 Uhr

[ - Direktlink - ]
Thema: AmiBlitz will nicht, welche alternative ist die Beste ?
Brett: Programmierung

Yep, reden wir hier tatsächlich über das hier:

http://amiblitz3.amiforce.de/index.php?action=3

Macht kein Sinn drüber zu diskutieren wenn du eine alte Version auf OS4 probierst, die dafür noch nicht angepasst war.
--
Thilo Köhler, Author von:
HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr...
Homepage: http://www.hd-rec.de

 
Der_Wanderer   Nutzer

24.09.2008, 23:50 Uhr

[ - Direktlink - ]
Thema: AmiBlitz will nicht, welche alternative ist die Beste ?
Brett: Programmierung

> ich wollte keineswegs AB schlecht machen, das war nicht meine Absicht, falls das so rübergekomme ist.
Hm ja, es kommt so rüber.

> und eben das es bei mir auf 3 Systemen (Arbeits-OS4, Standard-OS4,
> Winuae auf Windows-Laptop) nicht funktoniert bzw. unerklärliche
> fehler hat, und somit für mich ausscheidet.
Hm, und du hast keinerlei Willen nach dem Fehler zu suchen? Das geht sicher schneller als dein Prog in ASM zu coden.
Ausserdem vermute ich, dass an deinem Systemen irgendwo was nicht stimmt. Das würde dann deinem System zugute kommen, den Fehler zu finden.

> Es nützt nun auch nichts, da die fehler zu suchen, da die trefferquote 3/3
Gerade da wäre es doch sehr nützlich, den Fehler zu finden!

> 3 von 3 geht nicht einfach zu hoch ist, um sowas für betatests rauszugeben.
??? hm, also erstmal müssen wir zwischen der Stabilität der IDE und der damit erzeugten Executables unterscheiden. Die Qualität der erzeugten Exe kannst du ja nicht beurteilen, weil du scheinbar erst gar keine erstellen kannst. Du kannst aber in meiner Signatur sehen, was man damit coden kann und kannst dir die Progs angucken.
Da das IDE bei dir auf allen 3 Systemen nicht läuft, sollte dir das zu denken geben. Hast du irgendwelche Patches installiert? HAst du die Libs aus dem Libs Verzeichnis übernommen? Gerade bei OS4 sind einige Schnell-Schüsse von Library Portierungen im Netz zu finden, die nicht funzen. Nimm lieber die 68K Varianten.

> Und so fehler, das nicht mal der eben gespeicherte Sourcecode
> wieder eingelesen werden kann, auf 2 wirklich total
> unterscheidlichen systemen, sowohl Hard- als auch Softwaremässig,
Du musst das genauer beschreiben. Was bedeutet "der Sorucecode kann nicht eingelesen werden"? Kommt eine Fehlermeldung? Friert die Kiste ein? Nur bei Sourcen die du gespeichert hast oder auch bei den Demos?

> Nichts desto trotz finde ich die Arbeit, die hinter AB3 steckt
> wirklich impostant, ich denke nur manchma, und das sehe ich auch an
> allen Beispielsourcen, das immer viel wert auf "komplexe sachen
> einfach handeln" aber überhaupt nicht auf die basics, also einfache
> Sachen gelegt wird.
Was meinst du mit Basics? Datei öffnen?
code:
fid.l = file_Open{"DH0:MyFile.dat",#file_read}
If fid>=0
  file_WriteLine{fid,"In die Datei will ich einen Text speichern!"}
  file_WriteMem{fid,memptr.l,lenght.l} ; binäre Daten Speichern
  file_Close{fid}
End If

Das wäre der Include weg. Jede Include hat ein integriertes Demo, wenn man sie direkt kompiliert.
Es gibt auch ziemliche Low-Level Includes, z.B. prefixtree.include oder so. Wenn wir noch weiter runter gehen sind wir bei + und -, aber dafür muss man ja nicht extra ein Demo schreiben, oder?

> Also von Amiblitz muss ich nun weg, hilft ja alles nichts.
Doch. Es würde helfen, wenn du einen richtigen Bugreport ablieferst, dann wird dir sicher schnell geholfen. Aber mehr als "es geht ned!" muss es schon sein, wir können ja nicht auf deinen Bildschirm gucken.

> Ich glaube, ich werde doch wieder alles in ASM schreiben müssen,
> das hält mich zwar leider länger an stellen auf, die ich eigentlich
> vermeiden wollte, da es aber einfach keine vernünftige Alternative
> zu geben scheint, werde ich mir da schon was zusammenbasteln. ?(
Sorry, das ist eine ziemlich dämliche Lösung des Problems. Dein Problem ist vermutlich mit dem Kopieren einer Library oder dem deaktivieren eines Patches behoben. Auf einem cleanen System läuft Amiblitz3 definitiv. Zur Not installiere dir Amikit oder ein nacktes OS3.9+Picasso+AHI, da läuft es auf jeden Fall.
So kommst du viel schneller zum Ziel als mit ASM bit-popeln. Auf http://www.amiforce.de gibts es eine Community die dir bei allen Coding Problemen helfen wird.

P.S.: Mehr als dir die Hand reichen kann ich nicht. Zugreifen musst du schon selbst.

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



[ Dieser Beitrag wurde von Der_Wanderer am 24.09.2008 um 23:57 Uhr geändert. ]
 
Der_Wanderer   Nutzer

24.09.2008, 12:06 Uhr

[ - Direktlink - ]
Thema: AmiBlitz will nicht, welche alternative ist die Beste ?
Brett: Programmierung

> 1. das Programm muss schnell erzeugbar sein und zur verfügung stehen, das schliesst Assembler nicht ganz aus, rückt es aber zumindest in den hintergrund.
=>Amiblitz3
code:
NPrint "Hello World"
End

Im Menu auf "Compiler=>Create Executable"
fertig. Kein SDK installieren, keine Assigns setzen, keine Parameter Orgie angeben.

> 2. Es muss auf jedem Rechner laufen ohne zusätzliche installationen.
=>Amiblitz3.
Es werden höchstens Libraries benötigt, die stehen aber im Abtract der jeweiligen Inlcude. Bilder können in die Exe integriert werden bei Bedarf.

> 3. Es braucht nicht schnell zu sein, da keine zeitkritischen Elemente
geprüft werden sollen.
Ok, hier Punktet Amiblitz3 (zum Glück) nicht.

> 4. Die Ausgabe muss ich meistens als Fensterausgabe und Datei erzeugen können, am besten gleichzeitig.
Ist überhaupt kein Problem. Sowohl text als auch Binärdaten können kinderleicht gespeichert werden.

5. Ein zugriff auf externe libraries muss einfach möglich sein, das schliesst (meines Wissnes nach) Arexx aus.
Ist auch kein Problem. Da gibt es viele möglichkeiten in Amiblitz, ich bevorzuge das beiliegende Tool "FD2Include" um eine Include zu erzeugen.



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



[ Dieser Beitrag wurde von Der_Wanderer am 24.09.2008 um 12:11 Uhr geändert. ]
 
Der_Wanderer   Nutzer

24.09.2008, 11:25 Uhr

[ - Direktlink - ]
Thema: AmiBlitz will nicht, welche alternative ist die Beste ?
Brett: Programmierung

Also wenn du was ernsthaftes in "Basic" schreiben willst, was auch auf OS4 und MOS läuft, dann kommst du an Amiblitz3 nicht vorbei. Amiblitz3 ist zwar nicht Standard Basic, bietet dafür viel viel mehr, vor allem spannende Sachen wie Grafik, Sound, Internet etc., die getestet sind auf den verschiedenen Amiga Plattformen, und wenn etwas nicht klappt, kann man es fixen weil es sehr aktiv weiterentwickelt wird.
(BTW, es gibt sehr wohl "Input", weil es eine String Funktion ist heisst es "Input$", kann man über die Online Hilfe sekundenschnell herausfinden)
Ansonsten bleibt nur noch C, da musst du aber viel von Hand machen was in Amiblitz3 schon da ist.

Die Probleme die du hast hat sonst niemand. Ich glaube dir dass es abstürzt, aber schiebe es nicht voreilig auf schlechtes Coding von Amiblitz oder schmeisse gleich die Flinte ins Korn (der größte Fehler den man machen kann wenn man was progammieren will). Ich benutze es fast täglich mehrere Stunden, auch beruflich, und es ist bei mir schon seit Ewigkeiten nicht abgestürzt.

Da ist also irgendwas faul bei dir. Es wäre interessant herauszufinden, woran das liegt. Manchmal ist es ja doch ein versteckter Bug, der nur unter bestimmten Umständen zum Tragen kommt.

Schau doch auf http://www.amiforce.de vorbei. Das Problem sollte schnell behoben sein. Generell ist das "Amiblitz" Team bemüht, auf die Wünsche von Usern einzugehen und es überall lauffähig zu machen/zu halten.

Wenn du dich ein wenig damit beschäftigst, wirst du schnell belohnt mit sehr schnellem Enticklungstempo.

Beispiel: (ich weiss, ich weiss...)
code:
XInclude "ahi.include.bb2"
ahi_LoadSound{0,"DH0:Samples/MySound.wav"}
ahi_PlaySound{0}
ahi_SaveSound{0,"DH0:Samples/MySound.mp3",@"MP3"}
End

Wo sonst bekommst du eine so einfache und mächtige API geboten?
Oder:

code:
XInclude "image.include.bb2"
image_Load{0,"DH0:Pictures/MyFoto.jpg"}
image_Resize{0,800,600,1}
image_Save{1,"DH0:Pictures/MyFoto_in_800x600.jpg",@"JPEG"}
End


Alleine dafür benötigst du jahrelange Programmiererfahrung und 100mal so viel Code, wenn du das in C coden würdest. In den meisten Basic Dialekten wäre das unmöglich oder elend langsam.


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

 
Der_Wanderer   Nutzer

19.09.2008, 11:30 Uhr

[ - Direktlink - ]
Thema: iff24 Speichern?
Brett: Programmierung

@MaikG
Sorry dass ich den Thread etwas benutzt habe, dafür hast du nun Basic Code um "per Hand" zu speichern sowie via Datatype, mit der Einschränkung, dass es auf AfA Systemen vorerst nicht geht.


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

 
Der_Wanderer   Nutzer

18.09.2008, 12:21 Uhr

[ - Direktlink - ]
Thema: iff24 Speichern?
Brett: Programmierung

@thomas:
Danke für das Beispiel.
Im Prinzip mache ich das genauso, das hat mich grübeln lassen...
Dann habe ich das Datatpye von AfA entfernt und es geht!

D.h. das AROS Datatype kann nicht speichern, zumindest nicht 24bit.
Das OS3.9 kann definitiv speichern.

Das werde ich mal bei Bernd anmelden.


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

 
Der_Wanderer   Nutzer

17.09.2008, 15:29 Uhr

[ - Direktlink - ]
Thema: iff24 Speichern?
Brett: Programmierung

Geht auch ohne PDTA_SourceMode nicht. (wobei das laut Docu notwenig ist, wenn man als Quelle eine non-standard Bitmap angeben will, also das Pendant zu PDTA_DestMode)

Die Bitmap wird aber angelegt, daran liegts nicht.

Ich kann mich erinnern, dass wir schonmal einen Thread darüber hatten, da gibt es aber auch nicht.
Der Code geht jetzt aber auch nicht mit 8bit, vorher hatte ich das mal geschafft dass 8bit ging.


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



[ Dieser Beitrag wurde von Der_Wanderer am 17.09.2008 um 15:54 Uhr geändert. ]
 
Der_Wanderer   Nutzer

17.09.2008, 14:09 Uhr

[ - Direktlink - ]
Thema: iff24 Speichern?
Brett: Programmierung

@Thomas
Auch das hier geht nicht, sollte doch aber, oder?

code:
...
  *newbm.BitMap = AllocBitMap_(img_width,img_height,24,@@
  #BMF_MINPLANES|#BMF_SPECIALFMT|(#PIXFMT_RGB24 LSL #BMB_PIXFMT_SHIFTUP) ,0)
  If *newbm=0 Then error{"\__THIS_FUNCTION: Unable to allocate 24bit Bitmap!"}

  *DTPic._Object = NewDTObjectA_ (0,Tags(#DTA_SourceType  ,#DTST_RAM,@@
                                         #PDTA_DestMode   ,#PMODE_V43,@@
                                         #PDTA_SourceMode ,#PMODE_V43,@@
                                         #PDTA_BitMap     ,*newbm,@@
                                         #DTA_GroupID     ,#GID_PICTURE))
  If *DTPic
    GetDTAttrsA_ *DTPic,Tags(#PDTA_BitMapHeader,&*bmhd.BitMapHeader)
    If *bmhd
      *bmhdbmh_Width  = img_width
      *bmhdbmh_Height = img_height
      *bmhdbmh_Depth  = 24
    End If

    fh.l = Open_ (&filename.s,#MODE_NEWFILE)
    If fh
      DTMWMethodID            = #DTM_WRITE
      DTMWdtw_GInfo           = 0
      DTMWdtw_FileHandle      = fh
      DTMWdtw_Mode            = #DTWM_IFF
      DTMWdtw_AttrList        = 0
      succ = DoDTMethodA_(*DTPic,0,0,&DTMW)
      Close_ fh
      If succ = False
        error{"\__THIS_FUNCTION: Unable to write IFF!"}
      EndIf
    EndIf

    DisposeDTObject_ *DTPic


succ = DoDTMethodA_(*DTPic,0,0,&DTMW) scheitert wieder, und erzeugt auch keine IFF Datei, sondern eine Datei der Länge 0.

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



[ Dieser Beitrag wurde von Der_Wanderer am 17.09.2008 um 16:48 Uhr geändert. ]
 
Der_Wanderer   Nutzer

17.09.2008, 12:24 Uhr

[ - Direktlink - ]
Thema: iff24 Speichern?
Brett: Programmierung

Zitat:
Original von thomas:
@Der_Wanderer:

Welches Pixelformat hat die Bitmap denn ? Wie gesagt, das muß PIXFMT_RGB24 sein, sonst geht es nicht. Kann auch sein, daß die ModeID dazu passen muß, das weiß ich aber nicht sicher.

Die Bitmap ist PIXFMT_ARGB32, die der Name ARGBBitmap_ptr vermuten lässt ;-)
Dann wirds wohl daran liegen. Werde es vorher konvertieren.
D.h. es geht aber auch kein alpha Channel :-(

Zitat:
Mein Code setzt auch noch XAspect, YAspect, PageWidth und PageHeight im BitMapHeader, aber das ist glaube ich nur, damit Programme wie PPaint das Bild korrekt laden.
Ok, danke für den Hinweis. so weit war ich nur noch nie...

Zitat:
Zitat:
Als Fehlermeldung bekomme ich

Das ist doch kein Crash !

Ja, das ist kein Crash. Crashs bekam ich aber früher, evtl. lags aber auch an meinem Code. Sorry, habe da wohl übertrieben.

Zitat:
Zitat:
kann man verhindern dass die Bitmap bei DisposeDTObject freigegeben wird?

Es gibt ein PDTA_FreeSourceBitMap. Ich habe aber noch nicht

aha, danke.

Zitat:
ausprobiert, ob das was bewirkt. Da man die Bitmap in den meisten Fällen eh nach 24bit konvertieren muß, habe ich immer eine temporäre angelegt.

Ja, das ist dämlich.
Der Vorteil von meinem Code ist, er kann auch ARGB speichern und benötigt lediglich eine Zeile als temporären Buffer.
Manchmal geht es einfach nicht, eine Bitmap zweimal im Speicher zu halten, wenn es gosse Bilder sind.
Das macht dann auch den VMem Approach vom Zeichenprogramm zunixhte.

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



[ Dieser Beitrag wurde von Der_Wanderer am 17.09.2008 um 12:25 Uhr geändert. ]
 
Der_Wanderer   Nutzer

17.09.2008, 11:56 Uhr

[ - Direktlink - ]
Thema: Texteditor mit Zeilenumbruch gesucht
Brett: Amiga, AmigaOS 4

@DaxB

Kannst du mal schauen, ob noch MuForce Hits kommen?

http://www.hd-rec.de/Archive/TuiTED.lha

Vielen Dank!

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

 
Der_Wanderer   Nutzer

17.09.2008, 10:33 Uhr

[ - Direktlink - ]
Thema: iff24 Speichern?
Brett: Programmierung

@thomas

Was mache ich falsch?

code:
Function.l image_SaveDT{image.l,filename.s}
SHARED imagedat()
DEFTYPE.dtWrite DTMW

succ.l=False
If ARGBbitmap_ptr
  *DTPic._Object = NewDTObjectA_ (0,Tags(#DTA_SourceType,#DTST_RAM,@@
                                         #PDTA_DestMode,#PMODE_V43,@@
                                         #DTA_GroupID,#GID_PICTURE,@@
                                         #PDTA_Remap,0,@@
                                         #PDTA_ModeID,0,@@
                                         #PDTA_NumColors,0,@@
                                         #PDTA_BitMap,ARGBbitmap_ptr))
  If *DTPic
    GetDTAttrsA_ *DTPic,Tags(#PDTA_BitMapHeader,&*bmhd.BitMapHeader)

    If *bmhd
      *bmhdbmh_Width  = img_width
      *bmhdbmh_Height = img_height
      *bmhdbmh_Depth  = 24
    End If

    fh.l = Open_ (&filename.s,#MODE_NEWFILE)
    If fh
      DTMWMethodID            = #DTM_WRITE
      DTMWdtw_GInfo           = 0
      DTMWdtw_FileHandle      = fh
      DTMWdtw_Mode            = #DTWM_IFF
      DTMWdtw_AttrList        = 0
      succ = DoDTMethodA_(*DTPic,0,0,&DTMW)
      Close_ fh
      If succ = False
        error{"\__THIS_FUNCTION: Unable to write IFF!"}
      EndIf
    EndIf

    DisposeDTObject_ *DTPic
    ARGBbitmap_ptr = 0; we must NULL the bitmap
  Else
    error{"\__THIS_FUNCTION: Unable to create Datatype Object out of the bitmap!"}
  EndIf
Else
  error{"\__THIS_FUNCTION: No bitmap!"}
End If
Function Return succ
End Function


Als Fehlermeldung bekomme ich "Unable to write IFF!", also DoDTMethodA_(*DTPic,0,0,&DTMW) schlägt fehl.

BTW, kann man verhindern dass die Bitmap bei DisposeDTObject freigegeben wird?

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



[ Dieser Beitrag wurde von Der_Wanderer am 17.09.2008 um 10:54 Uhr geändert. ]
 
Der_Wanderer   Nutzer

16.09.2008, 22:47 Uhr

[ - Direktlink - ]
Thema: iff24 Speichern?
Brett: Programmierung

Zitat:
Original von MaikG:
24 Bitplanes, für 24 Bit noch Planar speichern?

Yup.

Zitat:
Ich dachte an sowas wie

0xFFFFFF 0xFF0000 0x00FF00 0x0000FF

für ein weiss, rot, grün und blauen Punkt.

nope. Das wäre IFF-DEEP, kein normales 24bit IFF.

Zitat:
bb2 Dateien, wo immer die auch her ist kann man meistens nicht
lesen(kein ASCII).

Man kann alles lesen bis auf die Tokens, und die verwende ich kaum.
Die Includes sind ALLE bei der Distribution dabei, die man hier für Umme kriegt und damit die .bb2 Files sogar richtig lesen kann ;-)
http://amiblitz3.amiforce.de

Zitat:
Wie siehts mit Speichern via Datatype aus?
Ich habe ein Beispiel dafür gefunden aber nicht so richtig
durchgesehen. Weil da würde nie die Datatype selectiert mit
dem man Speichern will.

Datatypes unterstützen "nur" IFF-ILBM zum speichern. Und das auch nur zuverlässig in 8bit oder weniger. 24bit crashed zumindest unter OS3.1, OS3.5 und 3.9.

Wenn du aber immer noch nicht AB3 herunterladen willst, habe ich dir den Auszug des relevanten Teils mal rauskopiert:

- die Routine kann RGB und ARGB, je nachdem ob bitdepth=24 oder 32 ist
- sie geht von einem ARGB PixelArray aus in ARGBptr, es sollte aber ein Leichtes sein das zu ändern falls deine Daten in einem anderen Pixelformat vorliegen
- die anderen Variablen sollten intuitiv oder aus dem Kontext sein)

code:
;Bitplanes bit masks
#PF_A1 = $01000000 ;Alpha
#PF_A2 = $02000000
#PF_A3 = $04000000
#PF_A4 = $08000000
#PF_A5 = $10000000
#PF_A6 = $20000000
#PF_A7 = $40000000
#PF_A8 = $80000000

#PF_R1 = $00010000 ;Red
#PF_R2 = $00020000
#PF_R3 = $00040000
#PF_R4 = $00080000
#PF_R5 = $00100000
#PF_R6 = $00200000
#PF_R7 = $00400000
#PF_R8 = $00800000

#PF_G1 = $00000100 ;Green
#PF_G2 = $00000200
#PF_G3 = $00000400
#PF_G4 = $00000800
#PF_G5 = $00001000
#PF_G6 = $00002000
#PF_G7 = $00004000
#PF_G8 = $00008000

#PF_B1 = $00000001 ;Blue
#PF_B2 = $00000002
#PF_B3 = $00000004
#PF_B4 = $00000008
#PF_B5 = $00000010
#PF_B6 = $00000020
#PF_B7 = $00000040
#PF_B8 = $00000080

...

    ; write BODY chunk
    file_WriteChunk{dos,@"BODY",-1,False}
    blen.l = (img_width + 15) / 16 * 2 ; byte length for one bitplane line
    tmp01.l = tmp +  0 * blen
    tmp02.l = tmp +  1 * blen
    tmp03.l = tmp +  2 * blen
    tmp04.l = tmp +  3 * blen
    tmp05.l = tmp +  4 * blen
    tmp06.l = tmp +  5 * blen
    tmp07.l = tmp +  6 * blen
    tmp08.l = tmp +  7 * blen
    tmp09.l = tmp +  8 * blen
    tmp10.l = tmp +  9 * blen
    tmp11.l = tmp + 10 * blen
    tmp12.l = tmp + 11 * blen
    tmp13.l = tmp + 12 * blen
    tmp14.l = tmp + 13 * blen
    tmp15.l = tmp + 14 * blen
    tmp16.l = tmp + 15 * blen
    tmp17.l = tmp + 16 * blen
    tmp18.l = tmp + 17 * blen
    tmp19.l = tmp + 18 * blen
    tmp20.l = tmp + 19 * blen
    tmp21.l = tmp + 20 * blen
    tmp22.l = tmp + 21 * blen
    tmp23.l = tmp + 22 * blen
    tmp24.l = tmp + 23 * blen
    tmp25.l = tmp + 24 * blen
    tmp26.l = tmp + 25 * blen
    tmp27.l = tmp + 26 * blen
    tmp28.l = tmp + 27 * blen
    tmp29.l = tmp + 28 * blen
    tmp30.l = tmp + 29 * blen
    tmp31.l = tmp + 30 * blen
    tmp32.l = tmp + 31 * blen

    omax.l = (img_width-1) LSR 4

    For y.l = 0 To img_height-1  ; for each line
      For o.l = 0 To omax ; go for all 16 pixel
        flag.l = 1 LSL 15
        plane01.l = 0
        plane02.l = 0
        plane03.l = 0
        plane04.l = 0
        plane05.l = 0
        plane06.l = 0
        plane07.l = 0
        plane08.l = 0
        plane09.l = 0
        plane10.l = 0
        plane11.l = 0
        plane12.l = 0
        plane13.l = 0
        plane14.l = 0
        plane15.l = 0
        plane16.l = 0
        plane17.l = 0
        plane18.l = 0
        plane19.l = 0
        plane20.l = 0
        plane21.l = 0
        plane22.l = 0
        plane23.l = 0
        plane24.l = 0
        plane25.l = 0
        plane26.l = 0
        plane27.l = 0
        plane28.l = 0
        plane29.l = 0
        plane30.l = 0
        plane31.l = 0
        plane32.l = 0

        o4.l = o LSL 4
        oend.l = Min(o4+15,img_width-1)
        For x.l = o4 To oend
          dat.l = Peek.l( ARGBptr + (x*bpp+y*bpr) )
          ; red
          If dat&#PF_R1 Then plane01 | flag
          If dat&#PF_R2 Then plane02 | flag
          If dat&#PF_R3 Then plane03 | flag
          If dat&#PF_R4 Then plane04 | flag
          If dat&#PF_R5 Then plane05 | flag
          If dat&#PF_R6 Then plane06 | flag
          If dat&#PF_R7 Then plane07 | flag
          If dat&#PF_R8 Then plane08 | flag

          ; green
          If dat&#PF_G1 Then plane09 | flag
          If dat&#PF_G2 Then plane10 | flag
          If dat&#PF_G3 Then plane11 | flag
          If dat&#PF_G4 Then plane12 | flag
          If dat&#PF_G5 Then plane13 | flag
          If dat&#PF_G6 Then plane14 | flag
          If dat&#PF_G7 Then plane15 | flag
          If dat&#PF_G8 Then plane16 | flag

          ; blue
          If dat&#PF_B1 Then plane17 | flag
          If dat&#PF_B2 Then plane18 | flag
          If dat&#PF_B3 Then plane19 | flag
          If dat&#PF_B4 Then plane20 | flag
          If dat&#PF_B5 Then plane21 | flag
          If dat&#PF_B6 Then plane22 | flag
          If dat&#PF_B7 Then plane23 | flag
          If dat&#PF_B8 Then plane24 | flag

          ; alpha
          If dat&#PF_A1 Then plane25 | flag
          If dat&#PF_A2 Then plane26 | flag
          If dat&#PF_A3 Then plane27 | flag
          If dat&#PF_A4 Then plane28 | flag
          If dat&#PF_A5 Then plane29 | flag
          If dat&#PF_A6 Then plane30 | flag
          If dat&#PF_A7 Then plane31 | flag
          If dat&#PF_A8 Then plane32 | flag

          flag LSR 1
        Next
        o2.l=o LSL 1
        Poke.w tmp01+o2,plane01
        Poke.w tmp02+o2,plane02
        Poke.w tmp03+o2,plane03
        Poke.w tmp04+o2,plane04
        Poke.w tmp05+o2,plane05
        Poke.w tmp06+o2,plane06
        Poke.w tmp07+o2,plane07
        Poke.w tmp08+o2,plane08
        Poke.w tmp09+o2,plane09
        Poke.w tmp10+o2,plane10
        Poke.w tmp11+o2,plane11
        Poke.w tmp12+o2,plane12
        Poke.w tmp13+o2,plane13
        Poke.w tmp14+o2,plane14
        Poke.w tmp15+o2,plane15
        Poke.w tmp16+o2,plane16
        Poke.w tmp17+o2,plane17
        Poke.w tmp18+o2,plane18
        Poke.w tmp19+o2,plane19
        Poke.w tmp20+o2,plane20
        Poke.w tmp21+o2,plane21
        Poke.w tmp22+o2,plane22
        Poke.w tmp23+o2,plane23
        Poke.w tmp24+o2,plane24
        Poke.w tmp25+o2,plane25
        Poke.w tmp26+o2,plane26
        Poke.w tmp27+o2,plane27
        Poke.w tmp28+o2,plane28
        Poke.w tmp29+o2,plane29
        Poke.w tmp30+o2,plane30
        Poke.w tmp31+o2,plane31
        Poke.w tmp32+o2,plane32
      Next

      If compress
        For o.l = 0 To bitdepth-1
          blenC.l = ilbm_RLEncode{tmp+blen*o,tmpC,blen}
          If blenC>0
            file_WriteMem {dos,tmpC,blenC}
          End If
        Next
      Else
        file_WriteMem {dos,tmp,blen*bitdepth}
      End If
    Next
    file_CloseChunk{dos,@"BODY"}


P.S: Ja, ich weiss dass es Arrays gibt. Hier geht es nicht um Esthetik, sondern um Speed.


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



[ Dieser Beitrag wurde von Der_Wanderer am 16.09.2008 um 22:51 Uhr geändert. ]
 
Der_Wanderer   Nutzer

16.09.2008, 20:15 Uhr

[ - Direktlink - ]
Thema: iff24 Speichern?
Brett: Programmierung

Meine Antwort wie immer: in Amiblitz waere das...

image_Save{0,"myImage.iff",@"ILBM"}

oooder schau dir den Code dazu an. "iff/ilbm.include.bb2".
Du musst die 24bit RGB Daten in 24 einzelne Bitplanes verwandeln. Das ist super ineffizient und langsam, deshalb gibt es auch das "DEEP" Format, was aber nicht ganz offiziell ist und nicht unbdingt immer unterstuetzt wird.

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

 
Der_Wanderer   Nutzer

15.09.2008, 13:41 Uhr

[ - Direktlink - ]
Thema: Google-Browser
Brett: Andere Systeme

Das Problem ist halt auch, dass wir hier alle Freax sind, und das Internet nicht wie Otto-Normal-Verbraucher nutzen.
Wenn der "Digital Bilder" eingibt, sucht er vermutlich tatsächlich einen Anbieter für Bilderabzüge, und kein Tutorial über Bildbearbeitung.

Lustig finde ich immer nur, wenn die Suchmaschienen den eingegebenen Begriff plump "echoen" umd auf die Seite zu locken, z.B. man gibt "Voxelengine" ein und es erscheint "Voxelengine - bei uns 60% günstiger!".
Aber mittlerweile passier das nicht mehr so oft. Bei Google bekomme ich oft Wikipedia Seiten, was durchaus passend ist.



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

 
Der_Wanderer   Nutzer

11.09.2008, 10:14 Uhr

[ - Direktlink - ]
Thema: 132 Euro AGL2
Brett: Get a Life

Hm, nun oeffentlicher Dienst != Beamter.

Wenn man die 300 ungrad Euro von Hartz4 betrachtet, darf man das nicht mit den 1500 Euro aus einer Taetigkeit vergleichen.

Zusaetlich zu den 300+ Euro kommen noch jede Menge mehr oder weniger versteckte Leistungen, die der Arbeitende von seinen 1500 bestreiten muss. Wohngeld, Heizkostenzuschuss, Krankenversicherung unter Risiko, Sachleistungen auf Antrag, Sozialanschluss fuers Fernsehen.
Bei dem Arbeitnehmer hingegen gehen noch jede Menge Zahlungen ab, GEZ, Auto/Fahrtkosten, angemessene Kleidung (z.B. Anzuege, Krawatten, Schuhe), Haftpflicht, Rechtsschutz, Hausrat, Steuerberater und und und.
Dazu kommt, dass der Arbeitslose >>9h mehr Zeit pro Tag zur Verfuegnung hat. Und wie wir wissen, ist Zeit=Geld.

Beispielsweise kann er viele Strecken mit dem Rad oder zu Fuss zuruecklegen, die ein Arbeitnehmer schlicht aus Zeitgruenden mit der Bahn oder dem Auto besteiten muss. Der Arbeitnehmer hat weniger Zeit, Preise zu vergleichen. Waehrend ein Arbeitsloser durchaus zwei oder drei Geschaefte besuchen kann, um sich die jeweils guenstigsten Gueter rauszusuchen, muss der Arbeitnehmer aus Zeitgruenden kaufen, was da ist.
Der Arbeitnehmer muss moeglicherweise waehrend der Mittagspause essen gehen, oder auch am Abend, weil er schlichtweg keine Zeit hat oder zu erschoepft ist um guenstiger selbst zu kochen.

Der Arbeitslose kann auch Reperaturarbeiten oder Renovierung selbst vornehmen, wo ein Arbeitnehmer einen Handwerker beauftragen muss.
Denn z.B. im oeffentlichen Dienst ist der Arbeitnehmer verpflichtet, an Urlaubstagen sich zu erholen um die Arbeitskraft zu erhalten. Hobbies, die die Arbeitskraft beeintraechtigen koennten sind untersagt.

Wenn ich es mir recht ueberlege, muesste ein Arbeitsloser die Zeit (z.B. 1EUR pro h) als geldwerten Vorteil versteuern muessen, da er hier aus seiner "Nicht-Taetigkeit" heraus Wertschoepfung erzielen kann.
Wer bei Daimler arbeitet und ein Auto zum selbstkosten Preis bekommt, muss die Differenz zum Marktpreis auch als Einkommen versteuern.

Wie auch immer, ich weiss schon, dass 300EUR pro Monat nicht ueppig sind, ich war selbst Student und musste mit 250 auskommen. Es gibt nunmal kein Grundrecht auf einen gewissen Lebensstandard. Wenn man selbst kein Geld verdient, ist der eben nur so hoch, wie einem die Leistungstraeger zugestehen, da darf man sich nicht beschweren.
In Japan z.B. gibt es keine Sozialsysteme. Dort werden Arbeitslose von ihren Verwandten/Bekannten versorgt oder bekommen Zelte vom Staat und leben in Parks. Dort bekommen sie Essen von freundlichen Mitbuergern.
Was mich beeindruckt hat: In Japan habe ich keinen Obdachlosen Alkohol trinken sehen, alle strahlten eine gewisse Wuerde aus und haben teilweise Buecher gelesen. Angepoepelt hat mich keiner. Aber das ist eine andere Welt, kann man nicht vergleiche.


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


[ Dieser Beitrag wurde von Der_Wanderer am 11.09.2008 um 10:29 Uhr geändert. ]
 
Der_Wanderer   Nutzer

10.09.2008, 15:10 Uhr

[ - Direktlink - ]
Thema: Texteditor mit Zeilenumbruch gesucht
Brett: Amiga, AmigaOS 4

Achja, EditPad von OS3.5/9 hat Word-Wrap. Evtl. geht EditPad ja mit ClassAction als Reaction Ersatz, ich befürchte aber nicht.

TuiTED hat kein Word-Wrap, sollte aber unter 3.1 gehen.
BTW, warum sollte TuiTED zu langsam sein? Ich denke die Zeichenroutienen sind ziemlich schnell, auch die Geschwindigkeit des Editierens von Texten hängt nicht von deren Länge ab (wie z.B. bei Windows Editor).
Nur das reinladen großer Texte könnte etwas länger dauern. (>>1MB).
Dafür gibt's HTML, C Highlightning und HEX Editor, einen FileBrowser der auch Bilder und Sounds anzeigen kann.

Vielleicht wäre das ja mal die Gelegnheit, in TuiTED Word-Wrapping einzubauen. Sag bescheid wenn es vernünftig läuft.

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

 
Der_Wanderer   Nutzer

09.09.2008, 14:18 Uhr

[ - Direktlink - ]
Thema: Texteditor mit Zeilenumbruch gesucht
Brett: Amiga, AmigaOS 4

TuiTED: http://www.hd-rec.de/Archive/TuiTED.lha

Was du meinst ist wohl TAB (ASCII #9).
Welche Auflösung fährst du denn?

TuiTED kann sich auch sehr klein machen, wenn du den FileBrowser deaktivierst.

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



[ Dieser Beitrag wurde von Der_Wanderer am 09.09.2008 um 14:19 Uhr geändert. ]
 
Der_Wanderer   Nutzer

04.09.2008, 10:53 Uhr

[ - Direktlink - ]
Thema: Google-Browser
Brett: Andere Systeme

Auch ich hab mir Chrome installiert, und bin positiv ueberrascht, obwohl ich mittlerweile eine gesunde Abneigung zu Gogle habe.
Der Browser nutzt mehr vom Bildschirm, hat wenig Koepfe, ahbe aber trotzdem nichts vermisst. Gegenueber dem IE7 ist er super flott, vor allem der Start, dabei hat er im Gegensatz zum IE keinen "Heimvorteil".

Er ist OpenSource und soll von Google selbst fuer MacOS und Linux portiert werden.

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

 
Der_Wanderer   Nutzer

01.09.2008, 12:17 Uhr

[ - Direktlink - ]
Thema: 4-Byte char => int?
Brett: Programmierung

Basis256 heisst ja nicht, dass ich für die IDs Zeichen>127 benutzen muss. Aber ich verstehe schon das Dilemma.
Habe mich jetzt mit der #define Variante angefreundet.

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

 
Der_Wanderer   Nutzer

29.08.2008, 21:34 Uhr

[ - Direktlink - ]
Thema: 4-Byte char => int?
Brett: Programmierung

Es geht nicht um IFF. Und ich weiss auch, dass man sích vorher eine Konstante erstellen kann.
Ich dacht nur, es gibt eine einfache Möglichkeit eine Zahl zu erstellen mit Basis 256.
Im Idealfall sind da gar keine Strings oder Character Arrays involviert. Wie bei AB3 eben, da ist @"TEST" eine 32bit integer Zahl, kein String und auch kein Char Array, signed oder unsigned spielt keine Rolle, erst wenn man hinterher damit rechnen will.

Eben so:

0xDEADBEEF
0cRIND

das wäre ideal. Ok, gibts nicht, muss ich halt anders machen. Man muss an das Thema aber nicht gleich so emotional rangehen, oder?
Wenn ich das Programm in AB3 scheiben könnte, müsste ich ja hier nicht nach C fragen.

Es geht um ein Program, was in C geschrieben werden muss.
Ich habe jetzt den Ratschalg befoglt, und Konstanten definiert. Hat natürlich auch seinen Vorteil, dass bei der Load und bei der Save Routine Schreibfehler ausgeschlossen sind. Danke an euch alle!

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



[ Dieser Beitrag wurde von Der_Wanderer am 29.08.2008 um 22:02 Uhr geändert. ]
 
Der_Wanderer   Nutzer

29.08.2008, 17:14 Uhr

[ - Direktlink - ]
Thema: 4-Byte char => int?
Brett: Programmierung

Ok, das war für reinrassige C-Progger wohl etwas zu schwammig formuliert.

Eigentlich suche ich eine Möglichkeit, 32bit Zahlen im base256 Format anzugeben. Also analog zum base16(Hex) oder bin:

int a = 0b1010101010101011111011011110111;
int b = 0xDEADBEEF;
int c = 0cRind;

0c stehe jetzt mal für base256.
In AB3 verwende ich das häufig für Tags oder andere Identifier, z.B.

image_Save{0,"myfile.jpg",@"JPEG"}
ahi_SaveSound{0,"myfile.mp3",@"MP3"}


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

 
Der_Wanderer   Nutzer

29.08.2008, 13:47 Uhr

[ - Direktlink - ]
Thema: 4-Byte char => int?
Brett: Programmierung

@thomas:
Danke für den Hinweis.
--
Thilo Köhler, Author von:
HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr...
Homepage: http://www.hd-rec.de

 
Der_Wanderer   Nutzer

29.08.2008, 13:14 Uhr

[ - Direktlink - ]
Thema: 4-Byte char => int?
Brett: Programmierung

@thomas:
Hm, das ist aber nicht wirklich kürzer sonder länger, und ich hab das ',' Gewurschtel nur nach oben verschoben, wo es noch undurchsichtiger wird, z.B. wenn dort ein Schreibfehler passiert und ich mich beim Betrachten der Zeile "case TYPE" wundere, warum das nicht funzt.

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

 
Der_Wanderer   Nutzer

29.08.2008, 13:05 Uhr

[ - Direktlink - ]
Thema: 4-Byte char => int?
Brett: Programmierung

Das mit dem IFF-Header war nur ein Beispiel.
Es geht nicht um eine IFF Datei, sondern um ein eigenes Dateiformat mit "tagged" Daten, d.h. Die Datei ist so aufgebaut:

code:
char[4] tagID
int tagValue
char[4] tagID
int tagValue
...

etc.

Bisher mache ich das so:
code:
#define int4(A,B,C,D) (int)(A|B<<8|C<<16|D<<24)

...
switch(tagID) {
  case int4('T','Y','P','E') : type   = tagValue; break;
  case int4('W','D','T','H') : width  = tagValue; break;
  case int4('H','I','G','H') : height = tagValue; break;
  ...
}

Aber ich würde gerne die vielen ',' loswerden.
In Amiblitz sähe das so aus:
code:
Select(tagID)
  case @"TYPE" : type   = tagValue
  case @"WDTH" : width  = tagValue
  case @"HIGH" : height = tagValue
  ...
End Select


Sinn eines solchen Dateiformates ist es, dass es leicht Erweitert oder Reduziert werden kann ohne Kompatibelität zu verlieren, ähnlich wie XML oder HTML, aber mit weniger Speicheraufwand und schnellerem parsen. Ausserdem lässt sich so eine Datei leicht in einem Hex Editor modifizieren, ohne dass man sie Struktur kennen muss.




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



[ Dieser Beitrag wurde von Der_Wanderer am 29.08.2008 um 13:08 Uhr geändert. ]
 
Der_Wanderer   Nutzer

29.08.2008, 12:23 Uhr

[ - Direktlink - ]
Thema: 4-Byte char => int?
Brett: Programmierung

Hallo!

In Amiblitz kann man einen 4 Byte grossen String
wie ein 32bit Integer benutzen.

Z.B. so:

If header=@"FORM" Then ...

was sehr praktisch ist. Vor allem in C wäre sowas praktisch,
wo die String Handhabung etwas umständlicher ist.
Daher meine Frage: Gibt es soetwas in C, oder kann jemand ein Macro posten das sowas ähnliches macht?

Konket lese ich Chunk IDs aus einer Datei, und will sie mit Switch vergleichen.

Also

Switch(header) {
case "FORM" : ...
case "BODY" : ...
case "CMAP" : ...
}

so in der Art.

Danke schonmal!

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

 
 
Erste << 15 16 17 18 19 -20- 21 22 23 24 25 >> Letzte Ergebnisse der Suche: 1229 Treffer (30 pro Seite)

Suchbegriffe
Schlüsselwörter      Benutzername
Suchoptionen
Nur in diesen Foren suchen
   nur ganze Wörter
Nur Titel anzeigen
alle Treffer anzeigen

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