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

amiga-news.de Forum > Programmierung > Ich möchte einfach nur meine komplette Homepage zentrieren! [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- 2 [ - Beitrag schreiben - ]

15.08.2004, 11:27 Uhr

IamSONIC
Posts: 131
Nutzer
Hallo,

kann mir als HTML Neuling mal jemand erklären wie ich meine komplette Homepage zentrieren kann ? Ich möchte einfach nur haben, dass sich alle Frames automatisch in der Mitte des Fensters zentrieren. Ich hatte es selbst schon mal fast geschafft, jedoch die Menüleiste muss aufgrund der Grafik direkt links unten an das Bannerframe! Wäre es möglich ein leeres Frame ganz links anzufügen welches im Prinzip das zentrieren übernimmt ?

Danke für die Hilfe

Ach ja die Adresse meiner Hompage lautet: http://www.r-alex.de
--
Besucht meine Homepage http://www.r-alex.de

[ - Antworten - Zitieren - Direktlink - ]

15.08.2004, 12:25 Uhr

thomas
Posts: 7717
Nutzer

Du mußt halt links und rechts noch zwei Frames hinmachen. Dem oberen mit dem Titelbild gibst du eine feste Breite (die Breite des Bildes) und die beiden äußeren läßt du frei.

code:
<frameset cols="*,740,*">
	<frame src="leer.htm">
	<frameset rows="147,*">
		<frame src="oben.htm">
		<frameset cols="167,*">
			<frame src="menu.htm">
			<frame src="home.htm">
		</frameset>
	</frameset>
	<frame src="leer.htm">
</frameset>


Gruß Thomas

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

[ - Antworten - Zitieren - Direktlink - ]

15.08.2004, 13:43 Uhr

IamSONIC
Posts: 131
Nutzer
@thomas


1.000 Dank !!! Genau so wollte ich das, ich darf gar nicht sagen wieviele Stunden ich versucht habe das so zu machen.

Gruss

Alex


--
Besucht meine Homepage http://www.r-alex.de

[ - Antworten - Zitieren - Direktlink - ]

15.08.2004, 13:59 Uhr

Mad_Dog
Posts: 1944
Nutzer
Alternativ kannst Du das auch mit der Technik der "blinden Tabellen" machen.

Ein guter Einstieg in HTML ist auch SelfHTML.
--

http://www.norman-interactive.com

[ - Antworten - Zitieren - Direktlink - ]

15.08.2004, 14:18 Uhr

IamSONIC
Posts: 131
Nutzer
@ Mad_Dog

Blinde Tabellen sagt mir jetzt ehrlich gesagt gar nichts. SelfHTML... puhh muss ganz ehrlich sagen, dass ich mit meiner ersten Homepage "persönlich" sehr zufrieden bin und eigentlich genau das erreichen wollte. Das automatische zentrieren der Page war "für mich" die Krönung. Ich nutze im Moment die Freie Zeit die ich habe hauptsächlich für die Amiga Programmierung in C/C++. Als ich eben den Link Deiner Homepage angelickt habe, sah ich das der Amiga C Kurs ja von Dir ist. Ich persönlich finde diesen sehr gut und nutze diesen aktuell auch um mein C++ Know How vom PC auf den Amiga zu transferieren. Da ich überwiegend C++ gewöhnt bin ist die C Syntax vom Amiga schon ein wenig gewöhnungsbedürftig. Da mir Dein C-Kurs sehr gut gefällt, habe ich diesen auf meiner Homepage mit verlinkt.
--
Besucht meine Homepage http://www.r-alex.de

[ - Antworten - Zitieren - Direktlink - ]

15.08.2004, 15:55 Uhr

TriMa
Posts: 2793
[Ex-Mitglied]
ich weiss ja nicht, aber so wie das aussieht, hättest du das ganze ohne frames gemacht, hätte ein table mit einer spezifischen grösse und align=center den selben effekt gehabt.

Aber dnan wär das scrollverhalten anders ausgefallen.

Deine Navigation solltest du übrigends kleiner machen, sodass man auf 1024x768 die Komplette Nav ohne scrollen sieht.

Wär das keine Amigaseite hätte ich eine css Lösung parat was das scrollen angeht ohne das man Frames nutzt.

--
join us:

Bild: http://sarkasmus-pur.trimaweb.de/images/banner/sarkabanner.png

Founder of #Sarkasmus-pur

[ - Antworten - Zitieren - Direktlink - ]

15.08.2004, 19:47 Uhr

Mad_Dog
Posts: 1944
Nutzer
Zitat:
Original von IamSONIC:

Blinde Tabellen sagt mir jetzt ehrlich gesagt gar nichts.


"Blinde Tabellen" bedeutet, daß Du eine (oder mehrere) Tabellen machst, die unsichtbar sind (also ohne Rand und in der selben Farbe wie der Hintergrund). Diese kannst Du dann dazu benutzen, um Text und Grafik anzuordnen.

Beispiel:

code:
<table border=0 cellpadding=20>
<tr>
<td>
<center>
<font face="verdana,arial,helvetica" size=1 color="white">
<a href="C-Kurs.html">
<img src="C-Kurs/C-Kurs_sm.png" alt="Amiga C Kurs für Einsteiger" vspace="20" Border="0"><BR>
</a>
</font>
</center>
</td>
<td>
<font face="verdana,arial,helvetica" size=1 color="white">
<b>Amiga C Kurs für Einsteiger</b><BR>
<p>
Ein kleiner Kurs, der absolute Anfänger an die Programmiersprache C
heranführen soll.
</font>
</td>
</tr>
</table>


Zitat:
Da ich überwiegend C++ gewöhnt bin ist die C Syntax vom Amiga schon ein wenig gewöhnungsbedürftig. Da mir Dein C-Kurs sehr gut gefällt, habe ich diesen auf meiner Homepage mit verlinkt.

Was meinst Du mit "die C Syntax vom Amiga"? Die CLI-basierten Beispiele sind reines ANSI C. Du darfst natürlich nicht C und C++ verwechseln...

Was die AmigaOS API-Programmierung angeht: Jedes OS bzw. jede Bibliothek hat eben so seine Eigenheiten. Ich nehme mal an, daß Du die Sache mit den TagItems etwas "gewöhnungsbedürftig" findest?


P.S.: Deine Homepage sieht gut aus!

--

http://www.norman-interactive.com

[ Dieser Beitrag wurde von Mad_Dog am 15.08.2004 editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

15.08.2004, 20:41 Uhr

IamSONIC
Posts: 131
Nutzer
Zitat:
Blinde Tabellen sagt mir jetzt ehrlich gesagt gar nichts.

"Blinde Tabellen" bedeutet, daß Du eine (oder mehrere) Tabellen machst, die unsichtbar sind (also ohne Rand und in der selben Farbe wie der Hintergrund). Diese kannst Du dann dazu benutzen, um Text und Grafik anzuordnen.


Ok, hab verstanden... ich denke ich habe in meiner Homepage einige blinde Tabellen, ich habe ja mit Tabellen alle Texte und Grafiken angeordnet, insbesondere im PICs Bereich sind das alles Tabellen welche keinen Rand anzeigen.

Zitat:
Da ich überwiegend C++ gewöhnt bin ist die C Syntax vom Amiga schon ein wenig gewöhnungsbedürftig. Da mir Dein C-Kurs sehr gut gefällt, habe ich diesen auf meiner Homepage mit verlinkt.

Was meinst Du mit "die C Syntax vom Amiga"? Die CLI-basierten Beispiele sind reines ANSI C. Du darfst natürlich nicht C und C++ verwechseln...

Was die AmigaOS API-Programmierung angeht: Jedes OS bzw. jede Bibliothek hat eben so seine Eigenheiten. Ich nehme mal an, daß Du die Sache mit den TagItems etwas "gewöhnungsbedürftig" findest?


Nun gut das wird daran liegen, dass ich bis dato immer nur in C++ Programmiert habe. Ich denke mal wenn ich unter OS 3.x arbeite kann ich auch einen C++ Compiler benutzen (z.B.: StormC), aber da ich ja unter AmigaOS 4.0 programmiere habe ich ja keine andere Wahl als den GNU C oder den vbcc zu benutzen und die beiden Teile kann man ja nur mit ANSI Code füttern.

Aber Dein Workshop ist auch zum OS 4.0 SDK recht kompatibel, es gibt zwar ab und zu ne Meldung, im Regelfall aber nur ne Warnung.

Zitat:
P.S.: Deine Homepage sieht gut aus!

Vielen Dank !





--

http://www.r-alex.de

[ - Antworten - Zitieren - Direktlink - ]

16.08.2004, 11:16 Uhr

Mad_Dog
Posts: 1944
Nutzer
Zitat:
Original von IamSONIC:

Ich denke mal wenn ich unter OS 3.x arbeite kann ich auch einen C++ Compiler benutzen (z.B.: StormC), aber da ich ja unter AmigaOS 4.0 programmiere habe ich ja keine andere Wahl als den GNU C oder den vbcc zu benutzen und die beiden Teile kann man ja nur mit ANSI Code füttern.


Der GNU C++ Compiler heißt g++. Geb einfach mal g++ --help in der Shell ein.

Zitat:
Aber Dein Workshop ist auch zum OS 4.0 SDK recht kompatibel, es gibt zwar ab und zu ne Meldung, im Regelfall aber nur ne Warnung.

Gut daß Du das ansprichst. Ich kann das leider nicht testen, da ich keinen AmigaOne habe. Mir wurde berichtet, daß die Amiga spezifischen Sachen nicht funktionieren würden (da OS4 ja ein anderes Library Handling benutzt).




--

http://www.norman-interactive.com

[ - Antworten - Zitieren - Direktlink - ]

16.08.2004, 12:07 Uhr

IamSONIC
Posts: 131
Nutzer
Zitat:
Der GNU C++ Compiler heißt g++. Geb einfach mal g++ --help in der Shell ein.

Gut dass Du das erwähnt hast. Ich würde mich nun gerne auf eine Sprache festlegen. Was ist den besser wenn man auf dem AMIGA etwas programmieren möchte? Gibt es weniger OS-spezifische includes für den g++ ? Mit dem g++ müsste die Syntax ja genau wie auf dem PC ausehen?!

Zitat:
Gut daß Du das ansprichst. Ich kann das leider nicht testen, da ich keinen AmigaOne habe. Mir wurde berichtet, daß die Amiga spezifischen Sachen nicht funktionieren würden (da OS4 ja ein anderes Library Handling benutzt).

Liegt wohl daran, dass ich erst angefangen habe und noch im ersten Kapitel bin. Sobald was gar nicht funktioniert, gebe ich Dir bescheid. Man könnte ja evtl. von Deinem C-Kurs eine AmigaOS 4.0 Version anbieten?

Gruss

Alex
--

http://www.r-alex.de

[ - Antworten - Zitieren - Direktlink - ]

16.08.2004, 13:13 Uhr

Mad_Dog
Posts: 1944
Nutzer
[quote]
Original von IamSONIC:
Zitat:
Ich würde mich nun gerne auf eine Sprache festlegen. Was ist den besser wenn man auf dem AMIGA etwas programmieren möchte? Gibt es weniger OS-spezifische includes für den g++ ? Mit dem g++ müsste die Syntax ja genau wie auf dem PC ausehen?!

Für C und C++ gibt es Standards. Das bedeutet ein reines ANSI C/C++ Programm läßt sich auf jedem ANSI C/C++ Compiler übersetzen. Die OS spezifischen Includes sind natürlich für jedes Betriebssystem anders. Teilweise bringen diese auch ihre eigenen Datentypen mit.

Beim OS4 Dev Kit müssten eigentlich die passenden Header für gcc/g++ dabei sein.

Was besser ist (C oder C++) hängt vom jeweiligen Problem ab. C ist eben nicht objektorientiert wie C++. In C gibt es auch kein Überladen von Operatoren oder ähnliches. Ist natürlich auch Geschmackssache, ob man jetzt lieber funktionell oder objektorientiert denkt.

Zitat:
Man könnte ja evtl. von Deinem C-Kurs eine AmigaOS 4.0 Version anbieten?

Wie gesagt: Ich habe keinen AmigaOne, also kann ich auch keine OS4 Version anbieten.

--

http://www.norman-interactive.com

[ - Antworten - Zitieren - Direktlink - ]

16.08.2004, 13:43 Uhr

Mad_Dog
Posts: 1944
Nutzer
Wir sind jetzt zwar schon ganz schön off-topic...

Aber daß wir nicht aneinander vorbeireden:
Du hast gesagt, Du wärst noch in Lektion 1.1...
Ein "Hello,World!" in korrektem ANSI C sieht auf jedem System (egal ob Amiga, Linux, MacOS, Solaris oder sonst was) wie folgt aus:

code:
#include <stdio.h>

int main(void)
{
  printf("Hello,World!");

  return 0;
}


Es kann natürlich sein, daß Dein Windows C Compiler noch den alten K&R oder AT&T Standard oder sonst was benutzt.

Dann könnte auch sowas gültig sein:

code:
#include <stdio.h>

main()
{
  printf("Hello,World!");
}

--

http://www.norman-interactive.com

[ - Antworten - Zitieren - Direktlink - ]

16.08.2004, 13:44 Uhr

thomas
Posts: 7717
Nutzer

Im Prinzip kann man den Quellcode von OS3.1 unverändert auf OS4.0 kompilieren. Du solltest nur darauf verzichten, Libraries wie intuition oder graphics selbst zu öffnen. Das ist weder unter 3.1 noch unter 4.0 notwendig und müßte für 4.0 um das Öffnen des Interface ergänzt werden.

Gruß Thomas

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

[ - Antworten - Zitieren - Direktlink - ]

16.08.2004, 14:04 Uhr

Solar
Posts: 3680
Nutzer
Zitat:
Original von Mad_Dog:

Was besser ist (C oder C++) hängt vom jeweiligen Problem ab. C ist eben nicht objektorientiert wie C++. In C gibt es auch kein Überladen von Operatoren oder ähnliches. Ist natürlich auch Geschmackssache, ob man jetzt lieber funktionell oder objektorientiert denkt.


Grundsätzlich läßt sich ein "sauberes" C-Programm immer auch mit einem C++-Compiler übersetzen. (Es gibt da ein paar ganz wenige Ausnahmen, aber wenn Du so weit kommst, daß Dich solche Problemchen beißen könnten, weißt Du auch, damit umzugehen.)

Daher empfehle ich persönlich eigentlich immer den Direkteinstieg in C++. Einige Dinge, die Du für C in- und auswendig beherrschen mußt, spielen unter C++ i.d.R. überhaupt keine Rolle mehr. (printf(), string.h, um nur zwei zu nennen.)

[ - Antworten - Zitieren - Direktlink - ]

16.08.2004, 16:18 Uhr

IamSONIC
Posts: 131
Nutzer
Auf dem PC sieht das bei dem Beispiel dann so aus:

code:
#include <iostream.h>

void main(void)
{
  cout<<"Hello,World!"<<endl;

  return 0;
}


Was weis ich nach welchem Standart ich C++ erlent habe, wahrscheinlich so 100% Borland typisch.
--

http://www.r-alex.de

[ - Antworten - Zitieren - Direktlink - ]

16.08.2004, 16:45 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von IamSONIC:
Auf dem PC sieht das bei dem Beispiel dann so aus:

code:
#include <iostream.h>

void main(void)
{
  cout<<"Hello,World!"<<endl;

  return 0;
}


Was weis ich nach welchem Standart ich C++ erlent habe, wahrscheinlich so 100% Borland typisch.

Es gibt keinen Standard, nach der man "return 0" in einer Funktion, die void zurückgibt, verwenden kann.
Ansonsten kommt das dem Standard schon sehr nahe, nur inzwischen gibt's namespaces (mein Gott, da hat man mal ein paar Jahre nicht hingeguckt und schon... :D ), aber da mögen die C++-Experten zu sprechen.

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ Dieser Beitrag wurde von Holger am 16.08.2004 editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

16.08.2004, 16:45 Uhr

Mad_Dog
Posts: 1944
Nutzer
Zitat:
Original von IamSONIC:
Auf dem PC sieht das bei dem Beispiel dann so aus:

code:
#include <iostream.h>

void main(void)
{
  cout<<"Hello,World!"<<endl;

  return 0;
}



Zum einen ist das C++ und nicht C. Zum anderen ist hier die Definition von main falsch: Du sagst mit

code:
void main(void)


daß die Funktion main eine Variable vom Typ void, also nichts zurückgibt. Andererseits gibst Du mit return 0; einen Integer-Wert zurück. Ist mir ein Rätsel, warum das Dein Compiler überhaupt schluckt.


--

http://www.norman-interactive.com

[ - Antworten - Zitieren - Direktlink - ]

16.08.2004, 16:51 Uhr

Holger
Posts: 8116
Nutzer
code:
#include <iostream>

int main(void)
{
   std::cout<<"Hello,World!"<<std::endl;
   return 0;
}

Ich glaube, so schaut's dann standardisierter aus, aber C++-Programmierer mögen mich gerne korrigieren.

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

16.08.2004, 16:53 Uhr

Mad_Dog
Posts: 1944
Nutzer
@thomas:

Man kann natürlich auch drauf hoffen, daß der Compiler das Öffnen der Libraries übernimmt. Ich hab mich jedenfalls an die Beispiele der Developer CD 2.1 gehalten.

Ich hab jetzt mal das Sierpinski-Fraktal aus meinem Kurs hergenommen und die entsprechenden Stellen zum Öffnen der Libraries usw. auskommentiert:

code:
/*   Sierpinski-Fraktal
 *
 */

#include <exec/types.h>
#include <exec/exec.h>
#include <intuition/intuition.h>
#include <graphics/gfx.h>
#include <dos/dos.h>
#include <stdlib.h>

#include <proto/intuition.h>
#include <proto/graphics.h>
#include <proto/exec.h>

/*  Makro zur Erzeugung einer Zufallszahl
 *  im Bereich min..max
 */
#define random(min,max) ((rand() % ((max+1)-min))+min)

// Symbolische Konstanten
#define WIDTH 400   // Breite des Fensters
#define HEIGHT 300  // Höhe des Fensters

struct Window *Fenster;        // Zeiger auf Window-Struktur
//struct IntuitionBase *IntuitionBase;  // Zeiger auf IntuitionBase-Struktur
//struct GfxBase *GfxBase;        // Zeiger auf GfxBase-Struktur
struct RastPort *rp;            // Zeiger auf RastPort-Struktur

// Funktionsprototypen
void DrawSierpinski(void);

int main(void)
{
  // Intuition Library öffnen
  // IntuitionBase = (struct IntuitionBase *) OpenLibrary("intuition.library",36L);

  // if (IntuitionBase != NULL)
  // {
    // Graphics Library öffnen
  //  GfxBase = (struct GfxBase *) OpenLibrary("graphics.library",0L);

  //  if (GfxBase != NULL)
  //  {

      // Fenster mittels Tags öffnen
      Fenster = OpenWindowTags(NULL,
                               WA_Left, 100,    // Abstand vom linken Rand
                               WA_Top, 100,     // Abstand vom oberen Rand
                               WA_Width, WIDTH,    // Breite
                               WA_Height, HEIGHT,  // Höhe
                               WA_Title, "Sierpinski",         // Fenstertitel
                               WA_CloseGadget, TRUE,           // Close-Gadget
                               WA_DragBar, TRUE,               // Ziehleiste
                               WA_DepthGadget, TRUE,           // Depth-Gadget
                               WA_GimmeZeroZero, TRUE,         // Ursprung 0/0
                               WA_IDCMP, IDCMP_CLOSEWINDOW,
                               WA_Activate, TRUE,              // Fenster aktivieren
                               TAG_DONE);

      if (Fenster != NULL)
      {

        rp = Fenster->RPort;  // rp zeigt auf RastPort des Fensters

        SetRast(rp, 1L);      // Fensterinhalt löschen

        SetAPen(rp, 2L);      // Farbe setzen

        DrawSierpinski();     // Fraktal zeichnen

        // Auf Close-Gadget warten
        Wait(1L << Fenster->UserPort->mp_SigBit);

        CloseWindow(Fenster);   // Fenster schließen
      } // end if

//    } // end if

//  } // end if

  // Libraries schließen
  //if (GfxBase != NULL) CloseLibrary((struct Library *)GfxBase);
  //if (IntuitionBase != NULL) CloseLibrary((struct Library *)IntuitionBase);

  return 0;

}

// Funktion zum Zeichnen des Sierpinski-Fraktals
void DrawSierpinski(void)
{
   int iterate;
   SHORT x1, y1, x2, y2;

   x1 = x2 = WIDTH/2;
   y1 = y2 = 0;

   // Schleife zum Iterieren und Zeichnen der Pixel

    for(iterate = 0; iterate < 10000; iterate++)
    {
    // Zufallswerte erzeugen/

     switch (random(0,2))
      {

         case 0:  x1 = (x2 + WIDTH/2) / 2;
                  y1 = y2 / 2;
                  break;

         case 1:  x1 = x2 / 2;
                  y1 = (y2 + HEIGHT) / 2;
                  break;

         case 2:  x1 = (x2 + WIDTH) / 2;
                  y1 = (y2 + HEIGHT) / 2;
                  break;

      }

      // Amiga Graphik-Primitive
      WritePixel (rp,x1, y1);

      x2 = x1;
      y2 = y1;

    }

}


Könnte mal ein AmigaOne/OS4 Besitzer testen, ob man das mit dem OS4 Dev Kit compilieren kann? Mit StormC 3.0 (68k) läuft's jedenfalls.

--

http://www.norman-interactive.com

[ - Antworten - Zitieren - Direktlink - ]

16.08.2004, 17:01 Uhr

Mad_Dog
Posts: 1944
Nutzer
Zitat:
Original von Solar:

Grundsätzlich läßt sich ein "sauberes" C-Programm immer auch mit einem C++-Compiler übersetzen.


Mir ist bekannt, daß C eine Untermenge von C++ ist. :D
Aber wir wollen den Anfänger ja micht gleich komplett verwirren.
Jedenfalls ist der Hauptunterschied bei der Wahl zwischen C und C++ als erste Programmiersprache die Denkweise: Während man in C eben funktionell programmiert, gewöhnt man sich bei C++ eher Objekte mit entsprechenden Methoden an.

Das kann dann darin gipfeln, daß ein C++ Programmierer versucht ein reines C-Programm zu schreiben und dort dann Funktionen in Strukturen mit reinwurstelt (kein Witz, alles schon gesehen!).

P.S.: C++ Compiler sind in der Regel etwas empfindlicher, was Warnings angeht. Ein C Programm, welches auf einem C Compiler keine Warnings produziert kann auf einem C++ Compiler durchaus Warnings produzieren.

--

http://www.norman-interactive.com

[ Dieser Beitrag wurde von Mad_Dog am 16.08.2004 editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

16.08.2004, 17:11 Uhr

Mad_Dog
Posts: 1944
Nutzer
@Holger:

code:
#include <iostream>
using namespace std;

int main(void)
{
   cout << "Hello,World!" << endl;
   return 0;
}






--

http://www.norman-interactive.com

[ - Antworten - Zitieren - Direktlink - ]

16.08.2004, 17:18 Uhr

Holger
Posts: 8116
Nutzer
@Mad_Dog:
Globaler import?
Jetzt werden garantiert einige Leute aufschreien. :D

mfg


--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

16.08.2004, 17:23 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von Mad_Dog:
Das kann dann darin gipfeln, daß ein C++ Programmierer versucht ein reines C-Programm zu schreiben und dort dann Funktionen in Strukturen mit reinwurstelt (kein Witz, alles schon gesehen!).

Prinzipiell ist es ja wurscht, wo eine Funktion steht. Wenn aber ein Programmierer gewohnt ist, Probleme mittels Polymorphismus zu lösen, kommt er gar nicht herum, Funktionspointer mit seinen Datenstrukturen (objekten) zu assoziieren.
Das artet in C in eine riesige Schreibarbeit aus, aber zum Glück kommt es ja immer seltener vor, daß ein C++ Programmierer gezwungen ist, warum auch immer, C-Code zu schreiben.
Zitat:
P.S.: C++ Compiler sind in der Regel etwas empfindlicher, was Warnings angeht. Ein C Programm, welches auf einem C Compiler keine Warnings produziert kann auf einem C++ Compiler durchaus Warnings produzieren.
Und C-Programme, die auf einem C-Compiler Warnings produzieren, können auf einem C++-Compiler durchaus komplett zurückgewiesen werden.
Kann nur von Vorteil sein.

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

16.08.2004, 17:25 Uhr

Mad_Dog
Posts: 1944
Nutzer
Zitat:
Original von Holger:
@Mad_Dog:
Globaler import?
Jetzt werden garantiert einige Leute aufschreien. :D


Bei iostream spricht doch nichts dagegen. Wer will kann natürlich auch ständig std:: schreiben ;)

--

http://www.norman-interactive.com

[ - Antworten - Zitieren - Direktlink - ]

16.08.2004, 17:29 Uhr

Mad_Dog
Posts: 1944
Nutzer
Zitat:
Original von Holger:

Prinzipiell ist es ja wurscht, wo eine Funktion steht. Wenn aber ein Programmierer gewohnt ist, Probleme mittels Polymorphismus zu lösen, kommt er gar nicht herum, Funktionspointer mit seinen Datenstrukturen (objekten) zu assoziieren.
Das artet in C in eine riesige Schreibarbeit aus, aber zum Glück kommt es ja immer seltener vor, daß ein C++ Programmierer gezwungen ist, warum auch immer, C-Code zu schreiben.


Polymorphismus und ADTs in C ist vom Problemtyp "den Code kann zwar keiner verstehen, aber ich hab gezeigt, daß es geht". :D

Für sowas nimmt man dann doch lieber C++ oder Ada95.



--

http://www.norman-interactive.com

[ Dieser Beitrag wurde von Mad_Dog am 16.08.2004 editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

16.08.2004, 17:57 Uhr

thomas
Posts: 7717
Nutzer
Zitat:
Original von Mad_Dog:
@thomas:
Man kann natürlich auch drauf hoffen, daß der Compiler das Öffnen der Libraries übernimmt. Ich hab mich jedenfalls an die Beispiele der Developer CD 2.1 gehalten.


Die Beispiele sind uralt und schon als sie neu waren, waren sie nicht gut. Viele haben sogar Fehler. Als Programmierer sollte man in der Lage sein, selbst zu denken und eine eigene Meinung zu haben.

Bei OS4 steht es jedenfalls in der Doku, daß man es so machen soll.

Zitat:
Könnte mal ein AmigaOne/OS4 Besitzer testen, ob man das mit dem OS4 Dev Kit compilieren kann? Mit StormC 3.0 (68k) läuft's jedenfalls.

gcc sierpinski.c -o sierpinski -D__USE_INLINE__ -lauto

Funktioniert ohne eine einzige Warnung. __USE_INLINE__ wird benötigt, damit man nicht dauernd IIntuition->OpenWindow und so schreiben muß und -lauto fügt eben jenen auto-init-Code hinzu, der die benutzten Libs selbständig öffnet.

Du solltest dir allerdings abgewöhnen, C++ Kommentare in C-Programmen zu verwenden. Es gibt durchaus C-Compiler, die das nicht akzeptieren.

Gruß Thomas

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

[ - Antworten - Zitieren - Direktlink - ]

16.08.2004, 18:45 Uhr

Mad_Dog
Posts: 1944
Nutzer
Zitat:
Original von thomas:
Zitat:
Original von Mad_Dog:
@thomas:
Man kann natürlich auch drauf hoffen, daß der Compiler das Öffnen der Libraries übernimmt. Ich hab mich jedenfalls an die Beispiele der Developer CD 2.1 gehalten.


Die Beispiele sind uralt und schon als sie neu waren, waren sie nicht gut. Viele haben sogar Fehler. Als Programmierer sollte man in der Lage sein, selbst zu denken und eine eigene Meinung zu haben.


Daß die Beispiele von der AmigaOS Developer CD 2.1 teilweise uralt sind, ist mir bekannt. Ich hab leider keine neuere Dokumentation.
Selbst das 3.9 NDK ist in der Hinsicht nicht besser. :(

Wie war nochmal das Zitat von Einstein? Nur aus Beispielen kann man lernen.

Zitat:
Bei OS4 steht es jedenfalls in der Doku, daß man es so machen soll.

Diese Doku hab ich leider nicht. Ich kann mir auch leider keinen AmigaOne leisten... ;(

Zitat:
gcc sierpinski.c -o sierpinski -D__USE_INLINE__ -lauto

Funktioniert ohne eine einzige Warnung. __USE_INLINE__ wird benötigt, damit man nicht dauernd IIntuition->OpenWindow und so schreiben muß und -lauto fügt eben jenen auto-init-Code hinzu, der die benutzten Libs selbständig öffnet.


Danke! Ich hoffe, das Executable läuft dann auch problemlos?


--

http://www.norman-interactive.com

[ - Antworten - Zitieren - Direktlink - ]

16.08.2004, 19:50 Uhr

thomas
Posts: 7717
Nutzer
Zitat:
Danke! Ich hoffe, das Executable läuft dann auch problemlos?
Natürlich. :smokin:


Zitat:
Ich hab leider keine neuere Dokumentation.
Ich auch nicht. Den Teil mit dem selber denken hast du wohl überlesen ? ;)

Gruß Thomas

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

[ Dieser Beitrag wurde von thomas am 16.08.2004 editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

16.08.2004, 20:59 Uhr

Mad_Dog
Posts: 1944
Nutzer
Zitat:
Original von thomas:

Zitat:
Ich hab leider keine neuere Dokumentation.
Ich auch nicht. Den Teil mit dem selber denken hast du wohl überlesen ? ;)

Beim OS4 Dev Kit wird doch auch Dokumentation dabei sein, oder etwa nicht?

Was das "selber denken" angeht: Ich hab mich mit der Programmierung unter OS4 noch nicht beschäftigt. Unter 3.x gab's ja keine Probleme, wenn man die Libraries von Hand öffnet. Also bestand auch kein Handlungsbedarf sich darüber nen Kopf zu machen. Denken ist anstrengend und wie Du ja vielleicht weißt, bin ich ein fauler Student und zudem noch Schwabe, die ja bekanntlich sehr geizig und konservativ sind. :lach:
--

http://www.norman-interactive.com

[ - Antworten - Zitieren - Direktlink - ]

16.08.2004, 22:16 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von Mad_Dog:
Daß die Beispiele von der AmigaOS Developer CD 2.1 teilweise uralt sind, ist mir bekannt. Ich hab leider keine neuere Dokumentation.
Selbst das 3.9 NDK ist in der Hinsicht nicht besser. :(

Nun, wenn Du Dein Projekt "Website zum Thema Amiga Programmierung" in die Tat umsetzt, könnten wir neuere, bzw. fehlerbereinigte Versionen der Beispielprogramme erstellen.
Einfach nach dem Prinzip online stellen und jeder, der etwas konstruktiv zu meckern hat, darf es umschreiben, und seine Version kommt dann in's Netz. Einzige Bedingung: er muß die Änderungen kommentieren, damit jeder weiß warum so, und nicht wie in der alten Version.
Mit der Zeit sollten dann perfekte Beispiele mit hohem Lerneffekt entstehen.

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]


-1- 2 [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > Ich möchte einfach nur meine komplette Homepage zentrieren! [ - Suche - Neue Beiträge - Registrieren - Login - ]


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