DEUTSCHE VERSION |
|
Links | | | Forums | | | Comments | | | Report news |
Chat | | | Polls | | | Newsticker | | | Archive |
amiga-news.de Forum > Search | [ - Search - New posts - Register - Login - ] |
|
||||||
Mazze
User
2005-02-26, 18:52 h [ - Direct link - ] |
topic: C++ Namensconflikt X11/AmigaOS
Board: Programmierung Hi, ich möchte ein X11-Programm nach AmigaOS portieren. Dabei kommt es zu Namenskonflikten, weil z.B. Screen, Window in beiden Systemen vorhanden sind. Wie löst man das? Ich habe es mit Namespace probiert, aber das klappt so nicht. code:#include <X11/Xlib.h> namespace ami { #include <proto/intuition.h> } Display *XOpenDisplay(_Xconst char* name) { ami::Screen *screen = ami::LockPubScreen(name); if (! screen) { screen = ami::LockPubScreen(NULL); } return (Display *)screen; } /gg/os-include/intuition/intuition.h:170: error: using typedef-name 'Window' after 'struct' -- Amiga Bedroom Programmer |
|||||
Mazze
User
2005-02-24, 19:38 h [ - Direct link - ] |
topic: Zeilenumbruch im TextEditor Gadget?
Board: Programmierung code:GA_TEXTEDITOR_Contents, "schninschnanschnappi", funktioniert bei mir ausgezeichnet. Hast Du es vielleicht irgentwie geschafft, dass ein Null-Zeichen im String steht? |
|||||
Mazze
User
2005-02-24, 00:28 h [ - Direct link - ] |
topic: vbcc
Board: Programmierung Korrektes C sieht meines Wissens so aus: #include <stdio.h> char *string = "Hello world !n"; int main () { printf("%s", string); return 0; } Ob es allerdings etwas an deinen Problemen ändert, weiß ich nicht. -- Amiga Bedroom Programmer [ Dieser Beitrag wurde von Mazze am 24.02.2005 editiert. ] |
|||||
Mazze
User
2005-02-24, 00:24 h [ - Direct link - ] |
topic: WMHI_GADGETUP Message auswerten
Board: Programmierung Es fehlt vermutlich ein GA_RelVerify, TRUE beim Erzeugen des Buttons. -- Amiga Bedroom Programmer |
|||||
Mazze
User
2005-02-20, 10:54 h [ - Direct link - ] |
topic: HintInfo wie anwenden
Board: Programmierung Zitat: Vielleicht liegt das Problem hier: Important: Even though this feature was already implemented since release v43 of window.class it should NOT be used with any window.class older than 45.11! Unter OS3.9BB2 funktioniert das obige Beispielprogramm. Zitat: Die vorhandenen Beispiele sind i.d.R. in C geschrieben, für C++ sind häufig zusätzliche Typkonvertierungen nötig. -- Amiga Bedroom Programmer |
|||||
Mazze
User
2005-02-19, 17:18 h [ - Direct link - ] |
topic: HintInfo wie anwenden
Board: Programmierung Bei dem Code, den du gepostet hast, war alles in Ordnung. Hattest du eventuell noch keinen Message-Loop? code:#include <stdio.h> #include <stdlib.h> #define NO_INLINE_STDARG #define ALL_REACTION_MACROS #include <reaction/reaction_macros.h> #include <proto/layout.h> #include <gadgets/layout.h> #include <proto/button.h> #include <gadgets/button.h> #include <proto/window.h> #include <classes/window.h> #include <intuition/classusr.h> #include <proto/exec.h> #include <proto/intuition.h> #include <clib/alib_protos.h> #define IDB1 1001 #define IDB2 1002 #define IDE1 2001 struct IntuitionBase *IntuitionBase; struct Library *WindowBase; struct Library *LayoutBase; struct Library *ButtonBase; HintInfo hint1[2]; //Ein HintInfo Struct erzeugen Object *window, *layout, *button; BOOL alllibrariesopen = FALSE; void cleanexit(char *str); int main(void) { ULONG windowsignal,receivedsignal,result,code; BOOL end; if ( ! (IntuitionBase= (struct IntuitionBase*)OpenLibrary("intuition.library",39))) cleanexit("Can't open intuition.library"); if ( ! (WindowBase= OpenLibrary("window.class",44))) cleanexit("Can't open window.class"); if ( ! (LayoutBase= OpenLibrary("gadgets/layout.gadget",44))) cleanexit("Can't open layout.gadget"); if ( ! (ButtonBase= OpenLibrary("gadgets/button.gadget",44))) cleanexit("Can't open button.gadget"); alllibrariesopen = TRUE; hint1[0].hi_GadgetID = IDB1; hint1[0].hi_Code = -1; hint1[0].hi_Text = "TestText"; hint1[0].hi_Flags = 0L; hint1[1].hi_GadgetID = -1; hint1[1].hi_Code = -1; hint1[1].hi_Text = NULL; hint1[1].hi_Flags = 0L; button = (Object*)NewObject( BUTTON_GetClass(),NULL,GA_ID,IDB1, GA_Text,"Mein erster Reaction-Button ...", TAG_END ); layout = (Object*)NewObject( LAYOUT_GetClass(),NULL, LAYOUT_AddChild, button, TAG_DONE); window = (Object*)NewObject( WINDOW_GetClass(),NULL, WINDOW_Layout,layout, WINDOW_Position,WPOS_CENTERMOUSE, WA_Activate,TRUE, WA_Title,"Ein Fenster !!", WA_DragBar,TRUE, WA_SizeGadget,TRUE, WA_CloseGadget,TRUE, WA_DepthGadget,TRUE, WINDOW_IconifyGadget,TRUE, WINDOW_GadgetHelp, TRUE, WINDOW_HintInfo, hint1, TAG_END ); if ( ! (window)) cleanexit("Can't create window"); if ( ! ((struct Window *) DoMethod(window,WM_OPEN))) cleanexit("Can't open window"); GetAttr(WINDOW_SigMask,window,&windowsignal); end = FALSE; while (!end) { receivedsignal = Wait(windowsignal); while ((result = DoMethod(window,WM_HANDLEINPUT,&code)) != WMHI_LASTMSG) { switch (result & WMHI_CLASSMASK) { case WMHI_CLOSEWINDOW: end=TRUE; break; } } } DoMethod(window,WM_CLOSE); cleanexit(NULL); } void cleanexit(char *str) { if (str) printf("Error: %sn",str); if (alllibrariesopen) { DisposeObject(window); } CloseLibrary((struct Library*)IntuitionBase); CloseLibrary(WindowBase); CloseLibrary(LayoutBase); CloseLibrary(ButtonBase); exit(0); } -- Amiga Bedroom Programmer |
|||||
Mazze
User
2005-02-19, 09:36 h [ - Direct link - ] |
topic: HintInfo wie anwenden
Board: Programmierung Zitat: STRPTR ist der Datentyp: hint1.hi_Text = "TestText" Du brauchst aber gleich ein Array; beim letzten Element muss für hi_GadgetID -1 eingetragen werden. HintInfo hint1[ANZAHL +1]; MFG Mazze -- Amiga Bedroom Programmer |
|||||
Mazze
User
2005-02-05, 11:42 h [ - Direct link - ] |
topic: Turbocalc: Formeln exportieren?
Board: Amiga, AmigaOS 4 Zitat: Ich bin einverstanden -- Amiga Bedroom Programmer |
|||||
Mazze
User
2005-02-02, 21:15 h [ - Direct link - ] |
topic: Turbocalc: Formeln exportieren?
Board: Amiga, AmigaOS 4 Zitat: Kein Grund, gleich das Korn in die Flinte zu werfen :-) code:/* liest Formeln aus Zellen und speichert sie in Datei */ Options FailAt 0 Options Results ADDRESS TCALC cols = XRange('A','Z') /* Werte anpassen ! */ letzteZeile = 5 letzteSpalte = 4 if open(datei, 'ram:export.dat', 'w') then do do y = 1 to letzteZeile zeile = '' do x = 1 to letzteSpalte cell = substr(cols,x,1) || y /* Formel auslesen */ GETFORMULA cell inhalt = result if result = '' then do /* Keine Formel? Dann Wert auslesen */ GETVALUE cell inhalt = result end if (x > 1) then zeile = zeile || ',' zeile = zeile || '"' || inhalt || '"' end call writeln(datei, zeile) end end call close(datei) Kommst du damit klar? -- Amiga Bedroom Programmer |
|||||
Mazze
User
2005-01-29, 14:20 h [ - Direct link - ] |
topic: Turbocalc: Formeln exportieren?
Board: Amiga, AmigaOS 4 Hat TK eine AREXX-Schnittstelle? Dann gibt es doch bestimmt eine Möglichkeit, an die Formeln ranzukommen. -- Amiga Bedroom Programmer |
|||||
Mazze
User
2005-01-21, 02:00 h [ - Direct link - ] |
topic: GLUT für Amiga?
Board: Programmierung Zitat: So ihr suchet, so werdet ihr finden: http://ftp.uni-paderborn.de/aminetbin/find?glut Selbst auspropiert habe ich es nicht. -- Amiga Bedroom Programmer |
|||||
Mazze
User
2004-12-28, 01:40 h [ - Direct link - ] |
topic: Wo werden die Elementvarablen eingerichtet?
Board: Programmierung Es ist länger her, dass ich mich mit C++ befasst habe. IIRC arbeitet der new-Operator wie die malloc-Funktion und eine Klasse ist ein struct, bei dem alle Elemente standardmäßig privat sind. D.h. der new-Operator liefert die Anfangsadresse eines Speicherbereichs zurück, der auf dem Heap liegt. Die Elementvariablen werden nacheinander in diesem Bereich abgelegt. (Unter Beachtung des Alignments) Allerdings kann der new-Operator überladen werden und es können Konstruktoren für die Element-Variablen definiert werden. Damit kann ein völlig anderes Verhalten implementiert werden |
|||||
Mazze
User
2004-12-27, 12:47 h [ - Direct link - ] |
topic: lgamma
Board: Programmierung In meiner gcc-Installation fehlt in der libm die Funktion lgamma. Mich interessiert, ob das grundsätzlich bei der Amiga-Version so ist oder ob beim Installieren etwas falsch gelaufen ist. |
|||||
Mazze
User
2004-12-23, 15:46 h [ - Direct link - ] |
topic: Perfect Paint startet erst nach 2tem versuch
Board: Amiga, AmigaOS 4 Geht nicht 'mal das Fenster auf, bei dem du den Screenmode einstellen kannst? |
|||||
Mazze
User
2004-12-12, 10:22 h [ - Direct link - ] |
topic: REXX-Befehle für FXPaint 2.0
Board: Amiga, AmigaOS 4 Frage doch im Forum auf http://www.iospirit.de. |
|||||
Mazze
User
2004-12-11, 01:35 h [ - Direct link - ] |
topic: Amiga Link Directory
Board: Forum und Interna Loide, es naht Weihnachten, das Fest der Liebe. Also hört auf, euch mit Dreck zu bewerfen. |
|||||
Mazze
User
2004-12-06, 20:17 h [ - Direct link - ] |
topic: Amiga Link Directory
Board: Forum und Interna Ich habe 19 defekte ALD-Eintrage am 2004-11-26 an alfsturm@t-online.de und am 2004-11-30 an team@amiga-news.de gemeldet. Ich hätte gerne mal eine Rückmeldung, damit ich weiß, ob sich die Mühe lohnt. Bisher habe ich nämlich nur mit der Spider-Option von wget geprüft. Die umfangreichere Prüfung nach Inhalt steht noch aus. MFG Mazze |
|||||
Mazze
User
2004-12-02, 19:36 h [ - Direct link - ] |
topic: Grafik Toolkits
Board: Programmierung Zitat: Teil 1 Teil 2 Teil 3 Teil 4 Teil 5 Teil 6 [ Dieser Beitrag wurde von Mazze am 02.12.2004 editiert. ] |
|||||
Mazze
User
2004-11-29, 19:45 h [ - Direct link - ] |
topic: Aktuelle Amiga Händlerübersicht
Board: Amiga, AmigaOS 4 Zitat: BESCHEID Ich habe am Freitag 19 Links an Alfred gemeldet. Wenn ich das Script mit veränderten Parametern durchlaufen lasse, erhalte ich sicherlich noch mehr Ergebnisse. Ich warte aber erst mal auf ein Lebenszeichen von Alfred. MFG |
|||||
Mazze
User
2004-11-25, 20:50 h [ - Direct link - ] |
topic: Aktuelle Amiga Händlerübersicht
Board: Amiga, AmigaOS 4 Zitat: Danke für Dein Angebot. Aber das Script ist nicht sehr benutzerfreundlich. Es enthält etliche Workarounds für Dinge, die nicht so laufen, wie sie eigentlich sollten. Außerdem habe ich das Problem, dass wget manchmal hängen bleibt und erst weiterläuft, wenn ich die Größe des Shell-Fensters ändere . Am Wochendende probiere ich mal, ob ich das Script so anpassen kann, dass es mit Regina under Linux läuft |
|||||
Mazze
User
2004-11-25, 19:05 h [ - Direct link - ] |
topic: Aktuelle Amiga Händlerübersicht
Board: Amiga, AmigaOS 4 Hi, ich habe vor einiger Zeit mal ein Arexx-Script geschrieben, welches über wget das ALD durchforstet und die Seiten bewertet. Das werde ich demnächst mal wieder laufen lassen. Problem ist nur, dass ich immer noch kein DSL habe und das prüfen von 900 ALD-Einträgen mehr als 6 Stunden dauert. |
|||||
Mazze
User
2004-10-23, 12:44 h [ - Direct link - ] |
topic: Texteditor der Tabs einfügt?
Board: Programmierung Zitat: Es geht um 'make'. Da spielen die Tabs natürlich eine Rolle. |
|||||
Mazze
User
2004-10-19, 22:02 h [ - Direct link - ] |
topic: gcc und Warnungen
Board: Programmierung Zitat: Achtung: -W schaltet zusätzliche Warnungen ein |
|||||
Mazze
User
2004-09-30, 02:09 h [ - Direct link - ] |
topic: Directfb
Board: Programmierung Zitat: Hmm, wenn ich in den Framebuffer schreibe, zerstöre ich vermutlich die Workbench. |
|||||
Mazze
User
2004-09-30, 02:02 h [ - Direct link - ] |
topic: Directfb
Board: Programmierung Zitat: Da bei mir nach dem Booten X11 gestartet wird, habe ich vermutlich außer der Bootconsole noch nie eine Framebuffer-Anwendung zu Gesicht bekommen. Ein kurzer Blick nach Freshmeat zeigt: svgalib 66 framebuffer 119 X11 7191 Die svgalib ist vermutlich am einfachsten zu portieren, aber für die paar Anwendungen lohnt es sich fast nicht. DirectFB ist vor allem deshalb interessant, weil verschiedene GUI-Systeme darauf aufsetzen. X11: Hier wäre es mal interessant zu wissen, wieviele Anwendungen die Xlib verwenden und wieviele das Client/Server-Protokoll benutzen. Für mich ist X11 auf dem Amiga wie mit Kanonen auf Spatzen geschossen. Man könnte das Problem "Portierung von grafischen Anwendungen" auch von der anderen Seite her anpacken und z.B. wxWidgets portieren. wxWidgets enthält allerdings mehr als nur GUI-Elemente und bei Unicode, Threads und Signalen könnte es schnell Dinge geben, die sich nicht so einfach auf den Amiga portieren lassen. |
|||||
Mazze
User
2004-09-28, 23:15 h [ - Direct link - ] |
topic: Directfb
Board: Programmierung Ich habe ein bisschen gegoogelt und folgenden Artikel gefunden. Interessant ist, dass das Framebuffer-Device ursprünglich für Linux/68k (Amiga, Atari, Mac) entwickelt wurde. Zur Programmierung des Framebuffer-Devices konnte ich noch nicht allzuviel finden. Offenbar wird nach dem Öffnen des Devices die Anfangsadresse des Grafikspeichers ermittelt und dann werden alle Grafikoperationen von der CPU durchgeführt. Ich sehe im Moment zwei Möglichkeiten: a) ein AmigaOs-Device Vorteil: einfache Portierung von Software, die das fb-Device benutzt Nachteil: Vermutlich langsam, wegen CPU-Grafik Offene Fragen: Wie programmiert man ein Device? Kann man direkt in die Bitmap eines Screens schreiben? Funktionieren Posix-Funkionen wie open und ioctl mit einem Amiga-Device? b) eine Wrapper-Library für eine Library, die auf dem Framebuffer-Device aufsetzt. (z.B DirectFB) Vorteil Beschleunigung durch Blitter und Grafikkarte Nachteil: Für eine relativ große Zahl von Funktionen müssen Gegenstücke aus grafix- bzw. intuition.library gefunden werden. Möglicherweise wird hin- und wieder die Library umgangen und direkt das Device angesprochen PS. Ich will keine falschen Hoffnungen wecken. Ich brainstorme nur ein bisschen :-) |
|||||
Mazze
User
2004-09-25, 18:09 h [ - Direct link - ] |
topic: Directfb
Board: Programmierung Hi, ich bin beim Recherchieren auf folgendes gestoßen: direcfb Es gibt Versionen von GTK und Qt, die auf diese Library aufsetzen. Für mich sieht das so aus, als ob es mit einem gewissen Aufwand möglich wäre, eine Wrapper-Library zu schreiben. Wenn es so einfach wäre, dann hätte es doch bestimmt schon jemand gemacht. Wo könnte denn der Haken sein? |
|||||
Mazze
User
2004-08-28, 16:18 h [ - Direct link - ] |
topic: Website zum Thema Amiga Programmierung
Board: Programmierung Hi Mad_Dog, ich habe in meinem Beitrag zur AWNPipe die code-Tags vergessen. Bitte korrigiere das. [ Dieser Beitrag wurde von Mazze am 28.08.2004 editiert. ] |
|||||
Mazze
User
2004-08-15, 10:51 h [ - Direct link - ] |
topic: X68000
Board: Andere Systeme Ich kenne es nicht. Das Teil wurde offenbar nur in Japan verkauft. Es gab da mal eine "trollige" Diskussion darüber: Forum |
|||||
Mazze
User
2004-08-01, 11:07 h [ - Direct link - ] |
topic: system / noixemul
Board: Programmierung Sorry für die späte Antwort. Die Installation von der GoldEd-CD weicht möglicherweise vom Standard ab. So sehen meine gg-relevanten assigns aus: code:var usr man info etc bin local gg Work:devkits/compilers/gcc/classic/latest C Workbench:C + Work:devkits/tools/cprefs/bin + Work:devkits/tools/ccselect/bin + Work:devkits/tools/make/bin + Programme:Develop/BASIC/c + Work:devkits/compilers/gcc/classic/latest/bin + Work:devkits/compilers/vbcc/classic/latest/bin S Workbench:S + Work:devkits/compilers/gcc/classic/latest/sys/s LIBS Workbench:Libs + Workbench:Classes + Programme:Werkzeuge/MUI/Libs + Programme:Develop/golded/etc/libs + Programme:Develop/BASIC/libs + Work:devkits/compilers/gcc/classic/latest/sys/libs DEVS Workbench:Devs + Work:devkits/compilers/gcc/classic/latest/sys/devs FONTS Workbench:Fonts + Programme:Develop/golded/etc/fonts L Workbench:L + Work:devkits/compilers/gcc/classic/latest/sys/l [ Dieser Beitrag wurde von Mazze am 01.08.2004 editiert. ] |
|||||
|
Masthead |
Privacy policy |
Netiquette |
Advertising |
Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved. |