Forum: PC-Programmierung Programmieren neu erlernen


von cerberus (Gast)


Lesenswert?

Hi.
Ich habe mal vor veilen Jahren mit solch Zeugs wie Basic, Pascal und
C++ rumprogrammiert, bin aber seit ca. 15 Jahren raus. Inzwischen hat
sich ein bisschen was an den Rechnern und "geringfügig" an deren
Betriebssystemen getan und ich fürchte ich bin mit dem Krempel nicht
ganz up to date.
Womit programmiert man heute Win-Anwendungen?
Wie kompiziert ist sowas?
Gibt es "bequeme" Tools um diese fensteraufbauten zu programmieren
oder muss man sich das alles zu Fuss erarbeiten? (grausige Erinnerungen
werden wach!)
Habe ich noch Zugriff auf die RS232 oder mus ich mich da mit windows um
die Zugriffe schlagen?
Vielen Dank schon mal im vorraus.

von caedes (Gast)


Lesenswert?

Hallo,

ich persönlich programmiere am PC mit Borland Delphi. Das ganze baut
auf einer modifizierten Pascal-Syntax auf und ist sehr komfortabel,
weil man sich sogenannte Komponenten auf ein Formular zieht und dann
alle Funktionen mit der Pascal-Source programmiert. Auch dabei wird
einem stark geholfen, weil fast alles Events auslöst und man an die
passende Stelle seinen Quelltext einfügt.
Dennoch lässt Delphi ausreichend Spiel um tiefer zu gehen und man ist
nun wirklich alles andere als begrenzt, im Gegensatz zu VisualBasic.
Um auf die Frage mit der RS232 Schnittstelle zu sprechen zu kommen: auf
Roboternetz.de kann man eine Delphi-Komponente herunterladen, die einem
den einfachen Zugriff ermöglicht.

Gruß caedes

von Freak5 (Gast)


Lesenswert?

Sonst ist C/C++ das, womit man fast alles kann. Damit kannst du sowohl
deine Chips programmieren als auch alles für Windows. Auch Beispiele
sind meistens in C gehalten. Wenn danach noch was fehlt kann man auch
immer noch alles in ASM machen. In ASM kannst du auch
Fensterapplikationen programmieren usw. Aber ASM ist, wie früher sicher
auch, etwas unübersichtlich in größeren Projekten, die komplett in ASM
sicher ewig dauern ;-)

von Jürgen Schuhmacher (Gast)


Lesenswert?

Oha, vor 15 Jahren schon in C++ programmiert zu haben, da kann ich nicht
ganz mithalten. Ich rate immer zu C/C++ wobei das im Grunde zwei
verschiedene Welten sind: Einst lediglich zur Strukturierung und
Handhabung großer C-Projekte gedacht, ist C++ inzwsichen DAS Synonym
für objektorientieres Programmieren geworden.

C/C++ sind deshalb so wichtig, weil viele für uns Elektroniker wichtige
Tools C- oder C-ähnliche Sprachen gewählt haben, um ihre Datenstrukturen
und Schnittstellen zu definieren und zu realisieren. EAGLE (ULP)S, SPICE
(Modellbildung) und VHDL sind Beispiele dafür.

Auch die Elektronik selbst ist heite softwarenäher denn je - und das
gleich in mehrerelei Hisicht: FPGAs z.B. kann man heute in C++
entwerfen, einen uC-Core reinimplemieren, der dann seinerseits zur
runtime mit variantem C++ Code gefüttert wird und quasi als
Microtroller arbeitet. In der Zukunft werden Hardware- und
Softwarestrukruen sich immer wieter vermischen.

Darüber hinaus befinden wir uns eine Ebene höher: Vievel Systeme und
Tools werden grafisch entworfen und bedient, C++ hinterliegt dann nur
noch als Basis - sozusagen als Treiber. Labvie ist wohl das
prägnanteste Beispiel. Um damit umgehen zu können, muss man C++ nicht
beherrschen, wohl aber die Strukturen des OOP verstehen, was dann
irgenwo auf dasselbe hinausläuft. Daher ist C++ (oder besser) die
hinterliegende Programmiertechnik DIE Vorraussetzung schlechthin.

Wenn Du einen guten Wiedereinstieg ins Programmieren haben wills, sieh
Dir mal www.wxwidgets.org an. Damit erschlägts Du - zumindest was
Appliaktionen angeht sowohl die platform-Seite (Win, MAC, Linux) als
auch die embedded-Seite (z.B. Win CE ..).

von Freak5 (Gast)


Lesenswert?

>>FPGAs z.B. kann man heute in C++ entwerfen,
Meinst du dieses Hardware C, was sich gegen VHDL nicht durchsetzen
konnte?
Ich habe mir nämlich gerade ein Buch über VHDL geholt...

von The Daz (Gast)


Lesenswert?

Juergen,
ich selbst arbeite fast ausschliesslich mit C++, aber das C++ DAS
Synonym fuer OO-Programmierung sein soll kann ich nicht bestaetigen. Im
OO-Bereich ist JAVA mindestens genauso wichtig geworden, mit C++ hat man
lediglich die ganzen C-Fuzzies (wie mich) mit in die OO-Welt genommen.

  Daz

von cerberus (Gast)


Lesenswert?

Das C kenn ich ja teilweise, aber ich hätte keine Idee, wie ich damit
ein Fenster unter windows auf den Bildschirm zaubere. Da muss man sich
doch gewisslich an 1000de von Vereinbarungen halten?
Java ist ja bestimmt auch nicht schlecht, aber ich hätte so gar keine
Ahnung, wie ich das anstellen sollte.
Allerdings wäre das natürlich auch klasse, weil ich dann meine Fenster
mit NVU gestalten könnte und noch die Aktionen in kleinen Codes
hinterlegen müßßte. Blöder Weise habe ich so gar keine Ahnung wie das
geht.
Gibts da Beispiele  Hilfen  ??

von Freak5 (Gast)


Lesenswert?

Fenster sind ganz leicht. Du füllst eine Klasse aus und rufst eine
Funktion auf. Wie das Fenster aussehen muss ist eigentlich
scriptgesteuert. Das kann man dann natürlich auch aus dem Programm
heraus machen, aber es gibt auch Editoren(Texteditor) und richtige
Editoren, welche in der IDE sind. Nur leider funzen die bei meiner IDE
nicht mehr, weil ich bei der Installation die deutsche IDE über den
englischen Compiler gelegt habe glaube ich.

von cerberus (Gast)


Lesenswert?

@Freak5
Was Du da schreibst ist bestimmt richtig und weit entfernt von dem, was
ich noch verstehe.

von Martin #. (martin-)


Lesenswert?

>>Das C kenn ich ja teilweise, aber ich hätte keine Idee wie ich damit
ein Fenster unter windows auf den Bildschirm zaubere
@cerberus
Ich versuch es dir verständlich zu erklären:
Also die Fenster und ähn. werden in der Regel erstellt, in dem man eine
Funktion aus einer Bibliothek aufruft die genau es tut.

Ohne diese Bibliotheken die es sehr aufwendig grafische Oberfläche zu
programmieren.

Die so genannten Tool-Kits haben solche Bibliotheken z.B die oben
erwänte wxwidgets, gtk , qt, fltk und andere.

Windows-API bietet solche funktionen von hausaus. Man braucht also
nicht unbedingt ein Tool-Kit zu verwenden.Allerdings nur mit  Win-API
Funktionen eine grafische Oberfläche zu erstellen ist recht mühesam.

Ich hoffe ich konnte etwas Licht in die Sache bringen.

von cerberus (Gast)


Lesenswert?

@Martin
Danke. Inzwischen ist hier ein ganze Menge Information gelandet, die
ich mir erst mal überlegen und ansehen muss.
Wenn jemand noch ein paar gute Einsteigertips hat bin ich nicht
angeneigt, besonders was Compiler, Software oder Literatur angeht.

von Alex (Gast)


Lesenswert?

Der Vollständigkeit halber möchte ich noch C# nennen. Ich habe zuvor im
VC++ und den MFC gearbeitet, die sind jedoch mit der aktuellen Visual
Studio Version Vergangenheit, von daher sollte man sich dort nicht mehr
einarbeiten. Für die Fensterei gibt es auch noch Qt. Da ich lieber alles
unter einer Oberfläche habe und mich nicht in verschiedene Konzepte
eindenken möchte lasse ich davon aber die Finger, auch wenn es
mittlerweile mehr als ausgereift ist.

Mit C# kannst du sowohl Anwendungen als auch Web-Services und Co
programmieren. Die Sprache ist auf Programmierkomfort hin optimiert und
es ist einfacher "stabile" Anwendungen zu erzeugen (Stichwort Garbage
Collector). Wer jedoch Anwendungen für verschiedene OS programmiert
sollte sich etwas anderes suchen.

von Freak5 (Gast)


Lesenswert?

Man braucht keine Libs. Diese Winapi-Funktionen sind direkt in Windows
integriert. Da kann man ein ASM-Programm mit wenigen Bytes schreiben,
welches fensterapplikationen erstellen kann.

Und recht einfach geht es auch. Man hat ein Rohfenster und dort sind
ebend Elemente über ein Script eingebunden. Die Elemente sind zum
Beispiel ein normaler Button mit einer X einer Y Koordinate und einer
Höhe und einer Breite. Dann gibt es noch den Text des Buttons und
einige Zusatzeigenschaften. Jeder Button hat eine Nummer, damit man die
Events, die ausgelöst werden über die Callbackfunktion überwachen kann.
Das alles wird einem durch Editoren abgenommen, so dass man sich das so
wie so nur zusammenklicken braucht.

Auf andere Zusätze würde ich verzichten, da die EXEs damit nur
aufgeblasen werden. Mit der Winapi bekommt man soetwas schon mit 10KB
hin, wenn man MS Vc++6 benutzt.

Wenn du Listboxen verwenden willst ist das etwas schwieriger. Aber es
gibt von Microsoft die MSDN, da steht alles drin und prinzipiell ist
alles schon fertig. Man muss nur die richtige Funktion aufrufen.

Von den Toolkits habe ich bis jetzt den Eindruck, dass sie die selben
Funktionen nutzen und nur andere Namen für die Funktionen haben(vom
Prinzip her)

von Martin #. (martin-)


Lesenswert?

>Man braucht keine Libs.
>MS Vc++6
@Freak5
Ich denke du verstehst die ganzen zusammenhänge nicht so richtig.

von Martin #. (martin-)


Lesenswert?

Ich meinte:
>schon mit 10KB hin, wenn man MS Vc++6 benutzt

von Freak5 (Gast)


Lesenswert?

Wieso nicht? Andere Kompiler kriegen das sicher noch etwas kleiner, wenn
man verhindert, dass unnötiger Kram in die Exe gelinkt wird.

So ein Fenster ist mit der Winapi ebend fast ohne
Speicherplatzverbrauch realisierbar, weil man nur eine Klasse ausfüllen
muss, nur wenige Funktionsaufrufe hat und dann noch das Script barucht.

Wenn man jetzt irgendwelche Toolkits nimmt, dann hat man vielleicht
pech und dieses Toolkit greift sogar auf Stringstreams zu und einem
wird die Datei gleich auf ein vielfaches vergrößert, ohne dass man
Stringstream wirklich benötigt. (Was meistens nicht der Fall ist.
Wenigstens nicht, wenn man NUR ein Fenster haben will.)

von Martin #. (martin-)


Lesenswert?

naja, du sagst ja man bräucht keine libs, die braucht man aber nur halt
bei windows sind sie schon dabei(wie ich schon oben schrieben habe),
und 10kB bekommt man mit jedem gänigen Compiler hin und es hörte sich
so an  wäre MS VC++ irgendeine Ausnahme.
>jetzt irgendwelche Toolkits nimmt, dann hat man vielleicht pech und
dieses Toolkit greift

Wenn man aber über "Windows-MS VC++"-Tellerrand blickt stellt man
schnell fest dass es so ziemlich egal ist ob ein Programm 10 kB oder
100kB gross ist und dass der Aufwand bei der portirung erheblich
kleiner wird.

von Freak5 (Gast)


Lesenswert?

Naja ich fände es cool, wenn viele Leute schöne 10Kb Programme schreiben
würden, die auf allen Windowssystemen laufen undn icht installiert
werden brauchen. Das wäre schon einmal etwas. Bei den Portierungen hat
man dann noch haufenweise komische DLLpacks, die man braucht und leider
auch behält, wenn man sich nicht die Namen merkt.

Gut die Portierung hat schon einen Vorteil, aber ich schätze den nicht
so hoch. Besonders weil viele der Meinung sind, dass dieser Vorteil in
der Praxis meistens nicht funktioniert.

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

der Vorteil von Klassenbibliotheken wie qt, MFC oder wxWidgets liegt
nicht unbedingt nur bei der Portierbarkeit (bei MFC wird das schwierig)
sondern in der einfacheren Programmerstellung. In der WinAPI will man
nicht viel mehr machen als ein einzelnes Fenster mit ein paar Buttons
aufmachen. Sobald das mehr wird macht sowas keinen Spaß mehr und man
verliert leicht den Überblick.

Ich würde bei reiner Windowsprogrammierung heute den Weg C# gehen und
Windows Forms nutzen (Man kann auch die WinAPI direkt aus C#
ansprechen). M$ bietet VS 2005 Express kostenlos an so das einem der
Einstieg sehr leicht fallen dürfte. Und die Portierbarkeit wird, dank
Mono und dessen Windows Forms Implementierung, auch immer besser.

Matthias

von Hans Tröler (Gast)


Lesenswert?

Obwohl ich C++ und Delph kann bin ich wieder auf Delphi umgestiegen.
Nur noch gelegentlich verwende ich C++.

Delphi ist einfach viel konfortabler und denoch sehr schnell.

Ich kann es nicht ganz nachvollziehen dass sich so viele
Gelegeheitsprogrammierer mit C++ abmühen.

Delphi ist für einen Durchschnittsprogrammierer einfach besser
natürlich behaupten die C++ Profis was anderere aber die gehen immer
davon aus dass alle so gut C++ können wie sie selber.

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

@freak5
Man muss ja keine DLLs benutzen wenn man alles statisch linkt. Ist bei
heutigem Plattenplatz auch kein Problem mehr. Ehrlich gesagt versteh
ich heutzutage garnicht mehr, warum man sich für ein paar 100kb mehr
oder weniger in irgend einer Weise abmühen sollte, es lohnt sich doch
wirklich nicht mehr

von The Daz (Gast)


Lesenswert?

@Tobi

DLLs erlauben es, grosse Projekte in kleine Teile zu zerlegen und
spaetere Fixe klein zu halten (eine monolithische exe muss immer
komplett ersetzt werden). Ansonsten sind sie im Bereich der
Infrastruktur sinnvoll, wenn Funktionen von mehreren Programmen genutzt
werden koennen sollen ohne den code doppelt in den exe Dateien zu
halten.

  Daz

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Den Begriff "DLL Hell" kennst Du offensichtlich noch nicht ...

von The Daz (Gast)


Lesenswert?

@Rufus

Klar kenn ich den. Und was willst du mir jetzt sagen ?

von cerberus (Gast)


Lesenswert?

MÄdels!
Bevor ihr hier die Zeit für einen Meinungsverscheidenheit investiert,
die eimen Glaubenskrieg gleichkommt, schreibt mir lieber ein kleines
Programm zusammen, dass ich brauche und ich gebe dafür einen aus!

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Tja.
Weisst Du auch, was dieser Begriff bedeutet? Und warum und wofür er
geprägt wurde?

(Normalerweise bin ich derjenige, der Formulierungen auf die Goldwaage
legt, was mir ja auch oft genug vorgeworfen wird. "the daz" scheint
das auch so zu sehen, also muss zwischen "einen Begriff kennen" und
"die Bedeutung eines Begriffes kennen" unterschieden werden ...)

Das grundlegende Problem bei der Verwendung von DLLs ist das vom OS nur
äußerst rudimentäre angebotene Versionsmanagement, das obendrein von
fast überhaupt keinem Programmierer auch verwendet wird. Stattdessen
linken alle möglichen Leute mit Importlibraries ... und die Programme
fliegen bei unterschiedlichen DLL-Versionen entsprechend auf die
Schnauze. Und Installationsprogramme klatschen munter ihre für die
Allgemeinheit völlig uninteressanten DLLs in das
%systemroot%\system32-Verzeichnis ... und fragen bei Deinstallation
den verblüfften Anwender, ob er möglicherweise die Datei
xyzblafusel.dll nicht eventuell doch behalten will. Super. Vor allem,
weil im gleichen Atemzug darauf hingewiesen wird, daß das Entfernen der
DLL möglicherweise die Systemstabilität reduziert. Was macht also der
vorsichtige Anwender? Er hinterlässt einen DLL-Friedhof.

Naja, Microsoft hat das Problem a) nicht wirklich erkennen wollen und
b) die erforderlichen Schnittstellen auch eher kaum dokumentiert. Erst
mit neueren Windows-Versionen scheint es möglich zu sein, parallel
gleichnamige DLLs unterschiedlicher Versionen auf einem System
vorzuhalten, die müssen dann halt a) im richtigen Verzeichnis liegen
und b) in einem entsprechend richtig aufgebauten Manifest dokumentiert
sein.

Dazu kommt, daß das beschissenste aller Installationsprogramme (Install
Shield) das oben genannte Deinstallationsverhalten hat, oft
Zielverzeichnisse ignoriert (nur so kommt es zu "C:\Program Files"
auf einer deutschsprachigen Windows-Installation) ... naja, und halt
ganz furchtbar doll beliebt ist.

Also: Wenn mit DLLs intelligent umgegangen wird (keine Importlibraries
verwenden, sondern per LoadModule/GetProcAddress auf Funktionen
zugreifen und gegebenenfalls mit GetVersionInformation auch die
Versionsresourcen ausgewertet werden und vor allem DLLs nicht in
irgendwelche Windows-Verzeichnisse kopiert werden), dann kann man die
Dinger durchaus nutzen. Dann sind sie auch praktisch.
Sonst aber sind sie ein Krampf im Arsch.

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

an gewissen Stellen kann man garnicht vernünftig auf DLLs verzichten
(Abstraktionsschnittstellen zur Hardware -> Beispiel: Grafikkarte).
Soll ein Anwendungsentwickler sämtliche OpenGL-Bibliotheken für nVidia,
ATI, Intel, 3DLabs usw. in seine Anwendung linken? Und mit jedem
Treiberupdate dann seine Applikation neu bauen? Das ist nicht
realisierbar.

M$ hat in der .NET Welt allerdings einige Vorkehrungen unternommen um
der DLL-Hell ein Ende zu bereiten. Wenn man ein .NET-Ececutable gegen
eine DLL linkt (das ist jetzt auch ohne .lib möglich so wie es unter
Unix-Systemen schon immer üblich war) und diese DLL eine Versionsnummer
hat (was ihr der Ersteller tunlichst verpassen sollte) so kann das
Executable nur mit genau dieser DLL ausgeführt werden. Auch können
gleichnamige, globale DLLs mit unterschiedlicher Versionsnummer auf dem
gleichen System liegen ohne in Konflikt zu geraten. Systemweite DLLs
können außerdem nicht mehr einfach durch kopieren in system32
"registriert" werden sondern müssen vom Installer beim Global
Assembly Cache "angemeldet" werden. Und das ist nur möglich wenn die
DLL eine Versionsnummer mitbringt.

Matthias

von Freak5 (Gast)


Lesenswert?

@Rufus:
>Und Installationsprogramme klatschen munter ihre für die
>Allgemeinheit völlig uninteressanten DLLs in das
>%systemroot%\system32-Verzeichnis ... und fragen bei Deinstallation
>den verblüfften Anwender, ob er möglicherweise die Datei
>xyzblafusel.dll nicht eventuell doch behalten will
Du sagst es. Ich frage mich so wie so, warum man für jeden Kram eine
Installationsdatei braucht. Auf Dateien kann man relativ zugreifen.
Dazu muss das Programm noch nichteinmal den eigenen Ort kennen und
Menüeinträge brauche ich nicht und wenn, dann mache ich sie selber.

von The Daz (Gast)


Lesenswert?

Rufus,
ich stimme voll mit dir ueberein, dass man bei der Windows-typischen
Nutzung von DLLs in die Hoelle kommt. Ich meine nur, dass DLLs an sich
und das fehlende Management derselben zwei unterschiedliche paar Schuhe
sind.

Ich hab lange genug Software fuer OS/2 entwickelt, und mal ganz
abgesehen vom schieren Nichtvorhandensein eines Installers liegt es vor
allem an der Disziplin der Entwickler, ob man mit DLLs in die Hoelle
kommt oder nicht (von wegen korrektes layering und Vermeidung
zyklischer Abhaengigkeiten). Darueberhinaus ist es definitiv eine
Katastrophe, wenn das Installationsprogramm jeden Schund in das
System-Verzeichnis kopiert. Ich verstehe bis heute nicht, warum das bei
Windows so ueblich ist. Man kann dort doch ganz einfach was an den Pfad
anhaengen oder bin ich da auf dem Holzweg ?


  Daz

von cerberus (Gast)


Lesenswert?

Nachdem ich den Schock über den Preis für Delphi überwunden habe frage
ich mich, ob ich auch mit wxWidgets zum Ziel kommen könnte. Gibt es da
Einsteigerhilfen?

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

natürlich kannst du auch mit wxWidgets zum Ziel kommen. So wie auch mit
qt, GTK, WIN32, System.Windows.Forms oder sonst einer GUI-API.
Einsteigerhilfen gibts für so ziemlich alle. Google mit $APINAME +
Tutorial hilft dir eine Einführung zu finden.

Matthias

von pebisoft (Gast)


Lesenswert?

schau mal mit google "bcx-basic  to c".
du brauchst nicht in basic proggen, da geht es auch direkt in c mit dem
pellesc (ist free) das andere c dabei darf nicht kommerziell genutzt
werden.
schau dir das in aller ruhe an, ich sagte in aller ruhe. ganz toll.

mfg pebisoft

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Hier gibts eine kleine Einführung in die ganz ganz grundlegenden
Grundlagen von wx:
http://www.bzzt.net/~wxwindows/icpp_wx1.html

Sonst kann ich nur die Mailingliste empfehlen und deren web-version:
lists.wxwidgets.org

von Martin #. (martin-)


Lesenswert?

@cerberus
Hast du eigentlich schon einen C/C++ Compiler ?
Wenn nicht kann ich auf die beiden hin weisen,(compiler+ide für
windose, ich nehme an du verwendest windows):
http://prdownloads.sourceforge.net/dev-cpp/devcpp-4.9.9.2_setup.exe

ftp://ftp.cs.virginia.edu/pub/lcc-win32/lccwin32.exe

>>Nachdem ich den Schock über den Preis für Delphi
Mich wundert dass es trotzdem so viele leute haben

Seit kurzem kann man sich auch M$$$ Zeug umsonst ziehen ( wenn jemand
unbedingt haben muss):
http://msdn.microsoft.com/vstudio/express/support/install/

Ich würde dir aber zu dem ersten raten, so lang du noch nicht so
richtig Durchblick hast.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

@cerberus:
Für wxWidgets gibt es ein recht günstiges und erstklassiges
GUI-Toolkit, das mehr und mehr zur vollständigen IDE mit
Projektverwaltung mutiert: www.anthemion.co.uk/dialogblocks

Das Teil kommt von Julian Smart, der hauptverantwortlich hinter der
wxWidgets-Entwicklung steht, und kann diverse kostenfrei verfügbare
Compiler integrieren (MinGW, GCC, BC++, Digital Mars C++, OpenWatcom
C++ und VC++).
Die 65 EUR (oder 30 für Studenten) ist das Teil definitiv wert.


@the daz:
> Darueberhinaus ist es definitiv eine Katastrophe,
> wenn das Installationsprogramm jeden Schund in das
> System-Verzeichnis kopiert.
> Ich verstehe bis heute nicht, warum das bei
> Windows so ueblich ist.

Das liegt an unfähigen Anwendungsprogrammierern und dem von mir zu
recht gehassten "Install Shield". Windows selbst schreibt das in
keiner Weise vor.
Andere Installationsprogramme (wie beispielsweise "WISE") machen das
von Haus aus besser und verunsichern vor allem bei der Deinstallation
den Anwender nicht mit völlig sinnlosen Hinweisen.

> Man kann dort doch ganz einfach was an den Pfad
> anhaengen oder bin ich da auf dem Holzweg ?

Kann man, muss man aber noch nicht einmal. Wenn nur für eine Anwendung
relevante DLLs in das gleiche Verzeichnis wie die Anwendung kopiert
werden, dann funktioniert die ganze Angelegenheit einfach so, ohne
Manipulation von %path%.

Das Standardverhalten von Windows beim Laden von DLLs ist nämlich
- suche im Verzeichnis der Anwendung
- suche im System-Verzeichnis
- suche im Pfad

Auch das Verzeichnis der Anwendung selbst muss nicht zu %path%
hinzugefügt werden; zum Aufrufen gibt es schließlich Verknüpfungen.
Wenn allerdings die Anwendung eine ist, die aus Kommandozeilen
aufzurufen ist, dann ist %path% sinnvoll. Richtige Installer sind auch
dazu nicht zu blöd; die können %path% entsprechend korrekt setzen.

Man kann ohne größere Probleme auch für Windows Anwendungen schreiben,
bei der die Installationsroutine ganz simpel zu gestalten ist:

- alle Dateien in ein Verzeichnis unterhalb c:\programme kopieren
(dabei in Registry nachsehen, wie "c:\programme" wirklich heisst),
gegebenenfalls Unterverzeichnisse anlegen
- Verknüpfung im Startmenü/auf dem Desktop/in der Schnellstartleiste
anlegen

Fertig.

Ein so installiertes Programm kann auch problemlos mit xcopy auf einen
anderen Rechner migriert werden; nur eine Verknüpfung zum Aufrufen muss
angelegt werden, das war's dann auch schon.

Da das aber zu einfach ist, kopieren munter weiter irgendwelche
Programme irgendwelchen Müll in irgendwelche Verzeichnisse, müllen die
Registry mit irgendwelchem unnötigen Kram voll, und verwenden nicht
internationalisierte Verzeichnisnamen.
Das aber ist nicht Windows, sondern den schlecht informierten
Programmierern vorzuwerfen.

von Rainer Meier (Gast)


Lesenswert?

>Nachdem ich den Schock über den Preis für Delphi überwunden habe frage

Auf der ct 13/05 war die Delphi Personal Edition 2005 auf DVD dabei.
Diese Version ist, nach Registierung bei Borland, kostenlos. Sie darf
aber nicht kommerziell verwendet werden.

Rainer

von cerberus (Gast)


Lesenswert?

@Martin
Ich habe mir diesen GCC-Compiler gezogen und ich habe irgendwo gelesen,
dass man damit auch Programme für PC-Anwendungen compilieren kann, aber
ich sehe da überhaupt nicht durch. Gott sei Dank hat mir ein Freund ein
Makefile geschrieben (und mir erklärt dass ich es brauche und wozu)
sonst hätte ich den wohl als Müll gleich wieder über Bord geworfen.

Ich hatte mal das (T?) Pascal von Borland (Version 4.0?). Das wahr sehr
angenehm, weil es einen Haufen Hilfen dabei hatte, mit denen man das
Ganze sehr gut alleine lernen konnte. Erklärungen mit Hilfen und
Beispielcodes.
Gibt es das bei Dephi auch?

von Martin #. (martin-)


Lesenswert?

Es freut mich wenn ich dir helfen konnten

>>aber ich sehe da überhaupt nicht durch.

Das überrascht mich eigentlich, ich habe gerade wegen der Einfachheit
die beiden vorgeschlagen, besonderes der unter dem ersten Link
(dev-c++) - so weit ich weiss steckt da ein GCC-Compiler (nur leider
nicht von der gleichen Qualität wie unter Linux, ich hatte jedenfalls
damit Probleme)


>>dass man damit auch Programme für PC-Anwendungen compilieren kann
Ich glaube der Ausdruck ist etwas unglücklich gewählt.
Meinst Programme mit GUI ?
Ja klar, das es geht, es geht mit jedem gescheitem C/C++ Compiler.

Ich beuntze Windows zwar nur gelegentlich aber vielleicht kann ich dir
eine andere Frage beantworten.
Wo gibt es Unklarheiten ? Brauchst du irgendein Beispielcode ?

von cerberus (Gast)


Lesenswert?

Da ich gerade bei 0x00 anfange, werde ich mir jetzt erst mal einen
rechner besorgen, den ich vorbehaltlos mit dieser ganzen Software
verseuchen kann, dann werde ich mir das schönste davon raussuchen und
dann sehen wir weiter. Erst mal vielen Dank an Euch.

von caedes (Gast)


Lesenswert?

@cerberus

Als Delphi-Befürworter muss wohl ich deine Frage beantworten:

>>Ich hatte mal das (T?) Pascal von Borland (Version 4.0?). Das wahr
sehr angenehm, weil es einen Haufen Hilfen dabei hatte, mit denen man
das Ganze sehr gut alleine lernen konnte. Erklärungen mit Hilfen und
Beispielcodes.
Gibt es das bei Dephi auch?

Bei Delphi ist die F1 Taste dein bester Freund. Es sind wirklich fast
alle Funktionen und Prozeduren kurz aber aussagekräftig in Funktion und
Anwendung beschrieben. Besonders als Anfänger habe ich es als sehr
hilfreich empfunden, wenn man die Fehlermeldungen beim Compilieren
sofort in der Hilfe nachschlagen und beheben kann.
Für komplexere Probleme sei dir das delphi-forum.de ans Herz gelegt.
Meist findet man alle Probleme schon über die Suchfunktion oder fragt
eben mal.
Was die Dokumentation angeht ist Delphi eigentlich top...

Gruß caedes

von cerberus (Gast)


Lesenswert?

<<Auf der ct 13/05 war die Delphi Personal Edition 2005 auf DVD dabei.

Ein schöner Mist. Nachdem ich Himmel und Hölle in Bewegung gesetzt habe
um die DVD zu bekommen habe ich das installiert und ...

<< Geben sie in der ersten Zeile "Key only" ein.
Na klar! Wäre schön wenn es auch funktionieren würde!!

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Und? Wo ist das Problem? Den hierfür erforderlichen Schlüssel bekommst
Du ohne Probleme von Borland, Du musst Dich da nur registrieren.

von cerberus (Gast)


Lesenswert?

Dafür bin ich dann wohl irgendwie nicht in der Lage. Ich habe da
jedefalls nichts gefunden wo ich einen Schlüssel herbekommen könnte.
Inzwischen habe ich Delphi wieder deinstalliert. Ich probier was
anderes, was ich auch installieren kann.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Wo und wie man den Schlüssel herbekommt, steht in der c't-Ausgabe drin,
aus der Du die CD/DVD entnommen hast.

Die haben das da nämlich nicht nur draufgeklatscht, um die CD/DVD
irgendwie vollzubekommen.

von cerberus (Gast)


Lesenswert?

Dumm das. Ich habe jemanden gefunden der mir die CD geliehen hat, aber
die Ct ist wohl schon den Weg alles irdischen gegangen.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?


von cerberus (Gast)


Lesenswert?

Danke. Hat sogar funktioniert. Es sieht irgendwie ganz anders aus, als
ich das kenne. Ich denke ich werde mal ein paar wochen urlaub machen
müssen um mir das mal genau anzusehen.

von Rainer Meier (Gast)


Lesenswert?

>Ein schöner Mist. Nachdem ich Himmel und Hölle in Bewegung gesetzt
>habe
>um die DVD zu bekommen habe ich das installiert und ...
>
><< Geben sie in der ersten Zeile "Key only" ein.
>Na klar! Wäre schön wenn es auch funktionieren würde!!

Auch wenn das Problem schon gelöst ist: Ich hatte auch geschrieben, daß
man sich dafür bei Borland registrieren muß


Rainer

von Rudolf Wiesendanger (Gast)


Lesenswert?

@Cerberus
Hätte Dir auch noch einen Tip.
Falls Du ca. 25 Euro entbehren kannst, sie Dir die folgenden
Bücher an:

Delphi für Kids
von Hans-Georg Schuhmann ISBN 3-8266-0643-4

Game Programming für Kids
von Hans-Georg Schuhmann ISBN 3-8266-0837-2

Beide enthalten die Vollversion von Delphi 3 (ist zwar nicht mehr ganz

aktuell) aber für eine Vollversion sagenhaft günstig.Im Unterschied zur
PE kannst Du damit Anwendungen mit einer Datenbank schreiben.

Falls Du zusätzliche Komponenten brauchst, so findest Du viele als
Freeware. (Delphi Super Page, Torry, etc.)

Falls Du vieleicht auch auf anderen Platformen als Windows
programmieren willst (musst) , so schaue mal bei

Noch ein Tip:
Kopiere die PDF-Dateien auf deine Harddisk (Handbuch zu Delphi).

http://www.freepascal.org vorbei.
Ist natürlich noch nicht so ausgereift wie Delphi ....

Hoffe ich konnte Dir damit helfen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.