ENGLISH VERSION |
|
Links | | | Forum | | | Kommentare | | | News melden |
Chat | | | Umfragen | | | Newsticker | | | Archiv |
amiga-news.de Forum > Suche | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
|
||||||
Mazze
Nutzer
26.02.2005, 18:52 Uhr [ - Direktlink - ] |
Thema: C++ Namensconflikt X11/AmigaOS
Brett: 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
Nutzer
24.02.2005, 19:38 Uhr [ - Direktlink - ] |
Thema: Zeilenumbruch im TextEditor Gadget?
Brett: Programmierung code:GA_TEXTEDITOR_Contents, "schninschnanschnappi", funktioniert bei mir ausgezeichnet. Hast Du es vielleicht irgentwie geschafft, dass ein Null-Zeichen im String steht? |
|||||
Mazze
Nutzer
24.02.2005, 00:28 Uhr [ - Direktlink - ] |
Thema: vbcc
Brett: 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
Nutzer
24.02.2005, 00:24 Uhr [ - Direktlink - ] |
Thema: WMHI_GADGETUP Message auswerten
Brett: Programmierung Es fehlt vermutlich ein GA_RelVerify, TRUE beim Erzeugen des Buttons. -- Amiga Bedroom Programmer |
|||||
Mazze
Nutzer
20.02.2005, 10:54 Uhr [ - Direktlink - ] |
Thema: HintInfo wie anwenden
Brett: 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
Nutzer
19.02.2005, 17:18 Uhr [ - Direktlink - ] |
Thema: HintInfo wie anwenden
Brett: 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
Nutzer
19.02.2005, 09:36 Uhr [ - Direktlink - ] |
Thema: HintInfo wie anwenden
Brett: 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
Nutzer
05.02.2005, 11:42 Uhr [ - Direktlink - ] |
Thema: Turbocalc: Formeln exportieren?
Brett: Amiga, AmigaOS 4 Zitat: Ich bin einverstanden -- Amiga Bedroom Programmer |
|||||
Mazze
Nutzer
02.02.2005, 21:15 Uhr [ - Direktlink - ] |
Thema: Turbocalc: Formeln exportieren?
Brett: 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
Nutzer
29.01.2005, 14:20 Uhr [ - Direktlink - ] |
Thema: Turbocalc: Formeln exportieren?
Brett: Amiga, AmigaOS 4 Hat TK eine AREXX-Schnittstelle? Dann gibt es doch bestimmt eine Möglichkeit, an die Formeln ranzukommen. -- Amiga Bedroom Programmer |
|||||
Mazze
Nutzer
21.01.2005, 02:00 Uhr [ - Direktlink - ] |
Thema: GLUT für Amiga?
Brett: 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
Nutzer
28.12.2004, 01:40 Uhr [ - Direktlink - ] |
Thema: Wo werden die Elementvarablen eingerichtet?
Brett: 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
Nutzer
27.12.2004, 12:47 Uhr [ - Direktlink - ] |
Thema: lgamma
Brett: 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
Nutzer
23.12.2004, 15:46 Uhr [ - Direktlink - ] |
Thema: Perfect Paint startet erst nach 2tem versuch
Brett: Amiga, AmigaOS 4 Geht nicht 'mal das Fenster auf, bei dem du den Screenmode einstellen kannst? |
|||||
Mazze
Nutzer
12.12.2004, 10:22 Uhr [ - Direktlink - ] |
Thema: REXX-Befehle für FXPaint 2.0
Brett: Amiga, AmigaOS 4 Frage doch im Forum auf http://www.iospirit.de. |
|||||
Mazze
Nutzer
11.12.2004, 01:35 Uhr [ - Direktlink - ] |
Thema: Amiga Link Directory
Brett: Forum und Interna Loide, es naht Weihnachten, das Fest der Liebe. Also hört auf, euch mit Dreck zu bewerfen. |
|||||
Mazze
Nutzer
06.12.2004, 20:17 Uhr [ - Direktlink - ] |
Thema: Amiga Link Directory
Brett: 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
Nutzer
02.12.2004, 19:36 Uhr [ - Direktlink - ] |
Thema: Grafik Toolkits
Brett: 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
Nutzer
29.11.2004, 19:45 Uhr [ - Direktlink - ] |
Thema: Aktuelle Amiga Händlerübersicht
Brett: 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
Nutzer
25.11.2004, 20:50 Uhr [ - Direktlink - ] |
Thema: Aktuelle Amiga Händlerübersicht
Brett: 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
Nutzer
25.11.2004, 19:05 Uhr [ - Direktlink - ] |
Thema: Aktuelle Amiga Händlerübersicht
Brett: 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
Nutzer
23.10.2004, 12:44 Uhr [ - Direktlink - ] |
Thema: Texteditor der Tabs einfügt?
Brett: Programmierung Zitat: Es geht um 'make'. Da spielen die Tabs natürlich eine Rolle. |
|||||
Mazze
Nutzer
19.10.2004, 22:02 Uhr [ - Direktlink - ] |
Thema: gcc und Warnungen
Brett: Programmierung Zitat: Achtung: -W schaltet zusätzliche Warnungen ein |
|||||
Mazze
Nutzer
30.09.2004, 02:09 Uhr [ - Direktlink - ] |
Thema: Directfb
Brett: Programmierung Zitat: Hmm, wenn ich in den Framebuffer schreibe, zerstöre ich vermutlich die Workbench. |
|||||
Mazze
Nutzer
30.09.2004, 02:02 Uhr [ - Direktlink - ] |
Thema: Directfb
Brett: 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
Nutzer
28.09.2004, 23:15 Uhr [ - Direktlink - ] |
Thema: Directfb
Brett: 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
Nutzer
25.09.2004, 18:09 Uhr [ - Direktlink - ] |
Thema: Directfb
Brett: 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
Nutzer
28.08.2004, 16:18 Uhr [ - Direktlink - ] |
Thema: Website zum Thema Amiga Programmierung
Brett: 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
Nutzer
15.08.2004, 10:51 Uhr [ - Direktlink - ] |
Thema: X68000
Brett: 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
Nutzer
01.08.2004, 11:07 Uhr [ - Direktlink - ] |
Thema: system / noixemul
Brett: 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. ] |
|||||
|
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten. |