| Autor |
Beitrag |
Egbert
      
Beiträge: 47
Win XP
D4 Prof
|
Verfasst: Fr 26.03.04 13:52
|
|
Egbert 
      
Beiträge: 47
Win XP
D4 Prof
|
Verfasst: So 28.03.04 15:57
Supper, dieses Forum.
Bin überwältigt über diese Informationsflut.
Egb.
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: So 28.03.04 16:17
Du bist hier in einem Delphi-Forum. Da sind es halt nicht so viele, die wissen, wie man etwas in C++ realisiert. Mir ist aber schon klar, dass das Problem in einem C++-Forum genau das umgekehrte wäre.
Aber mal zum Problem: kannst Du eine StringList nicht über einen Vector in C++ realisieren? Naja, und try-finally würde ich so umsetzen:
Quelltext 1: 2: 3: 4: 5:
| try {...} {Finally-Aktionen} catch () {dieselben Finally-Aktionen} |
Bin jetzt nicht so der C++-Guru, aber der Ansatz dürfte nicht grundfalsch sein.
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
Egbert 
      
Beiträge: 47
Win XP
D4 Prof
|
Verfasst: So 28.03.04 18:42
Titel: TStringList
Ist mir klar Peter, daß ich im Delphi-Forum bin. Aber dachte, hier finde ich eventuell jemanden, der sich auskennt. Bin in C++ absolut unerfahren. Inzwischen habe ich aber selbst, durch irre langes Herumprobieren herausbekommen, wie man TStringList in C++ erzeugt. "TStringList *SList= new TStringList();" Darum ging es mir eigentlich.
Aber trotzdem vielen Dank für deine Antwort. Egb...
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: So 28.03.04 18:46
Welches C++ nutzt Du, dass es dort eine Stringlist gibt?  Das kann ja nur borland-spezifisch sein. Würde ich nicht nutzen. Da verliert man eine ganze Menge kompatiblität.
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
Egbert 
      
Beiträge: 47
Win XP
D4 Prof
|
Verfasst: So 28.03.04 18:49
|
|
tommie-lie
      
Beiträge: 4373
Ubuntu 7.10 "Gutsy Gibbon"
|
Verfasst: So 28.03.04 19:55
| Peter Lustig hat folgendes geschrieben: | Welches C++ nutzt Du, dass es dort eine Stringlist gibt? Das kann ja nur borland-spezifisch sein. Würde ich nicht nutzen. Da verliert man eine ganze Menge kompatiblität. |
Nur genauso viel wie mit der VCL unter Delphi auch.
Wenn man den Quellcode der VCL für C hat, kann ich mir auch jeden beliebigen anderen C-Compiler schnappen, ihm sagen wo er die entsprechenden Header findet und ihn veranlassen, Code zu erzeugen, der ein Objekt vom Typ "TStringList" zu erzeugt.
Genauso sieht's mit der MFC aus, solange man die Library-Dateien hat und die dazugehörigen Header, kann man die MFC auch im C++ benutzen, sofern die Syntax keine MS-Compiler-spzeifischen Features benutzt.
_________________ Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
|
|
Egbert 
      
Beiträge: 47
Win XP
D4 Prof
|
Verfasst: So 28.03.04 20:17
Vielen Dank für den Hinweis. Wie ich ja schon sagte, bin ich ein absoluter Neuling was C++ anbetrifft. Bin gerade dabei überhaupt C ein wenig kennzulernen. Um irgend was vernünftiges zu schreiben reicht es allemale noch nicht. Muß mal sehen, daß ich einführende Literatur für C bekommen. Seid jedenfalls bedankt. Egb...
|
|
maze2k
      
Beiträge: 252
WIN 95, WIN NT 4.0, WIN 98, WIN 98SE, WIN 2000, RedHat Linux 7.3, Mandrake Linux 9.2, Knoppix Linux 3.3
D6 Pers
|
Verfasst: So 28.03.04 20:25
Hmm ich könnte dir die Folien von meiner Informatik I Vorlesung anbieten, die sind sehr gut.
www-dbs.informatik.u...04/info1/index.shtml unter Skript (ich meine nicht das Skript, sondern die Links zu den Folien darunter. Das Skript ist aber auch sehr hilfreich)
Dann hätte ich hier noch eine C++ Referenz: www.cppreference.com/ manchmal ganz nützlich.
Als Editor + Compiler empfehle ich Dev-C++ ( www.bloodshed.net/dev/devcpp.html ) oder halt Linux 
_________________ Wer das Konzept der Unendlichkeit verstehen will, muss nur das Ausmaß menschlicher Dummheit betrachten. (Voltaire)
|
|
Egbert 
      
Beiträge: 47
Win XP
D4 Prof
|
Verfasst: So 28.03.04 20:41
Das ist ja prima. hab gerade mal rein geschaut. Das wird mir sicherlich behilflich sein. Klasse, vielen Dank... Egb.
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: So 28.03.04 20:41
| Zitat: | Nur genauso viel wie mit der VCL unter Delphi auch.
Wenn man den Quellcode der VCL für C hat, kann ich mir auch jeden beliebigen anderen C-Compiler schnappen, ihm sagen wo er die entsprechenden Header findet und ihn veranlassen, Code zu erzeugen, der ein Objekt vom Typ "TStringList" zu erzeugt. |
Und woher soll dieser andere Compiler die Sourcen der VCL bekommen, wenn man sie nicht mit einem C++ Builder bekommen hat? Ich würde mich bei C++ auf die Standard-Libs beschränken. Dann ist man sicher, das jeder den Quellcode nutzen kann.
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
tommie-lie
      
Beiträge: 4373
Ubuntu 7.10 "Gutsy Gibbon"
|
Verfasst: So 28.03.04 20:56
| Peter Lustig hat folgendes geschrieben: | | Und woher soll dieser andere Compiler die Sourcen der VCL bekommen, wenn man sie nicht mit einem C++ Builder bekommen hat? |
Jetzt weißt du, warum es üblich ist, benötigte Bibliotheken mitzuliefern
| Zitat: | | Ich würde mich bei C++ auf die Standard-Libs beschränken. Dann ist man sicher, das jeder den Quellcode nutzen kann. |
Bei Delphi etwa auch? Schließelich lassen sich die Dateien mit jedem handelsüblichen Object Pascal-Compiler übersetzen, es würden nur die entsprechenden VCL-Klassen fehlen.
Überspitzt kann man sagen, daß man dann auch sämtliche Windows-API-Header und die dazugehörigen .a-Dateien, falls vorhanden mitgeben muss und am besten noch gleich die Kernel-DLLs von Windows, falls man die ja nicht hat.
Nein, bei C gelten die gleichen Regeln wie überall sonst auch: was man benötigt muss man mitgeben, und falls irgendwelche Lizenzen einem das verbieten, muss man halt drauf hinweisen, was benutzt wurde. Schließlich steht auch auf jeder Softwareverpackung "Requires Windows XX or higher better (nein, damit ist leider nie Linux gemeint  )"
Und wer den BCB nicht hat aber die Sourcen unbedingt kompilieren will, kauft ihn sich halt, das gleiche muss man mit Windows auch machen, wenn man Windows-Programme laufen lassen will.
_________________ Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
|
|
Motzi
      
Beiträge: 2931
XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
|
Verfasst: So 28.03.04 20:56
Ganz abgesehn davon verwendet der C-Builder nichts andres als die in Object-Pascal geschrieben VCL von Delphi..!! 
_________________ gringo pussy cats - eef i see you i will pull your tail out by eets roots!
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: So 28.03.04 21:01
| Zitat: | | Jetzt weißt du, warum es üblich ist, benötigte Bibliotheken mitzuliefern |
Darf ich das denn bei der VCL?
| Zitat: | | Bei Delphi etwa auch? Schließelich lassen sich die Dateien mit jedem handelsüblichen Object Pascal-Compiler übersetzen, es würden nur die entsprechenden VCL-Klassen fehlen. |
Hm, stimmt auch wieder.
Ich habe da wohl zu sehr an "meinen" Anwendungsbereich von C/C++ gedacht. Da schreibe ich die Programme immer so, dass sie mit der Grundausstattung unter Windows und Linux kompilieren.
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
tommie-lie
      
Beiträge: 4373
Ubuntu 7.10 "Gutsy Gibbon"
|
Verfasst: So 28.03.04 21:11
| Peter Lustig hat folgendes geschrieben: | | Ich habe da wohl zu sehr an "meinen" Anwendungsbereich von C/C++ gedacht. Da schreibe ich die Programme immer so, dass sie mit der Grundausstattung unter Windows und Linux kompilieren. |
D.h. du hast noch nie ein C-Programm geschrieben, das eine grafische Oberfläche hatte?
Denn wenn du die WinAPI genommen hättest, würde's nicht unter Linux laufen und umgekehrt.
Das Denken ist ja richtig, aber wenn man's mit der Portabilität so weit treibt, kommt man nicht sehr viel weiter als Textaufgabe auf Bildschirm, Dateimanagement und Betriebssystemansteuerung, eben das was in jeder libc enthalten ist. Und normalerweise benutzt man ja auch platformübergreifende Bibliotheken, wenn man von vornherein vor hat, das Programm später mal zu portieren, wie z.B. GTK oder Qt für Oberfläche, OpenGL oder SDL für 3D-Graphik etc.
_________________ Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: So 28.03.04 21:26
| Zitat: | | D.h. du hast noch nie ein C-Programm geschrieben, das eine grafische Oberfläche hatte? |
Das ist richtig. Für die Auswertung und Darstellung dessen, was die Programme auswerfen, gibt es wiederrum andere Programme, die das wesentlich besser können.
Ein grafische Oberfläche lohnt sich auch gar nicht, denn die Programme werden (von den Testläufen beim Debugging abgesehen) maximal drei oder vier mal gestartet. Danach braucht man es nicht mehr. Dabei machen die Eingaben (meist über eine Job-Datei) den kleinsten Teil der Laufzeit aus.
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
tommie-lie
      
Beiträge: 4373
Ubuntu 7.10 "Gutsy Gibbon"
|
Verfasst: Mo 29.03.04 13:19
Gut, einzelfallabhängige Laborauswertungen brauchen keine Oberflächen (obwohl mein Bruder da schöne Java-Programme für IR-Spektrometeranalysen benutzt...  ).
Aber was macht man, wenn man das Auswertungsprogramm nicht hat? Dann sitzt man auf dem Output deines Programmes und weiß nicht, wohin damit. Es bleibt sich also gleich 
_________________ Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Mo 29.03.04 15:05
| Zitat: | | Aber was macht man, wenn man das Auswertungsprogramm nicht hat? Dann sitzt man auf dem Output deines Programmes und weiß nicht, wohin damit. Es bleibt sich also gleich |
Leute, die kein Auswertungsprogramm besitzen, sind nicht die Leute, die mein Programm benutzen. 
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|