Autor Beitrag
Egbert
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 47

Win XP
D4 Prof
BeitragVerfasst: Fr 26.03.04 13:52 
Wer sagt mir bitte, wie das in C++ gemacht wird. DANKE... Egb

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
var sl:TStringlist;   

begin

  sl:=TStringlist.create; 
  try
    // Programmausführung
  finally
    sl.free;   
  end;

end;


Moderiert von user profile iconPeter Lustig: Delphi-Tags hinzugefügt
Egbert Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 47

Win XP
D4 Prof
BeitragVerfasst: So 28.03.04 15:57 
Supper, dieses Forum.
Bin überwältigt über diese Informationsflut.
Egb.
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: 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:
ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 47

Win XP
D4 Prof
BeitragVerfasst: 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.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: So 28.03.04 18:46 
Welches C++ nutzt Du, dass es dort eine Stringlist gibt? :shock: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 47

Win XP
D4 Prof
BeitragVerfasst: So 28.03.04 18:49 
C++ Builder 4
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: So 28.03.04 19:55 
Peter Lustig hat folgendes geschrieben:
Welches C++ nutzt Du, dass es dort eine Stringlist gibt? :shock: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 47

Win XP
D4 Prof
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
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
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 47

Win XP
D4 Prof
BeitragVerfasst: 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.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: 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 :mrgreen:)" ;-)
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2931

XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
BeitragVerfasst: 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.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: 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.
:shock:
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.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: 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... :mrgreen:).
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.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: 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".