Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

Mit C++ eine .txt anzeigen lassen. Mit Designoberfläche!

chrisbyRRC / 9 Antworten / Baumansicht Nickles

Hallo, ich bin dabei C++ zu lernen.
Gerade deshalb weil mann ja zB mit dem C++ Builder auch einfach eine Programmoberfläche designen kann.

Nun zum Problem:
Ich wollte wenn mann den "Help" Button drückt das die Readme.txt in irgendeiner Form angezeigt wird.
Hab jez einiges probiert aber bin nicht zum Erflog gekommen.

Mit folgenden Script erhalte ich zwar kein Fehler jedoch tut sich auch nichts wenn ich den Button drücke: :(

Folgendes unter Help Button:
--------------------------------------------------
Code:
FILE *fopen("Readme.txt");
--------------------------------------------------

Und unter Unit1.h noch die stdio.h included:
--------------------------------------------------
#include
--------------------------------------------------
(PS: musste bei stdio.h zwei leerzeichen setzen da nickles sonst meckert das es kei erlaubter HTML-Tag ist)

Hoffe ihr könnt mir helfen ;)

Ganz einfach im I-Net Geld verdienen und das nur durch benutzen einer Suchseite: http://www.tixuma.de/?ref=88237
bei Antwort benachrichtigen
PaoloP chrisbyRRC „Mit C++ eine .txt anzeigen lassen. Mit Designoberfläche!“
Optionen

äähm vielleicht steh ich aufm schlauch aber du müsstest die datei auch

a) einlesen
b) den inhalt der datei anzeigen.

du deklarierst nur eine file struktur assoziiert mit einer datei(wenn denn vorhanden)
und mehr nicht.

aber für den C++ Builder ist Borlander zuständig hier.


Jedes mal wenn jemand "Cloud" sagt, verliert ein Engel seine Flügel.
bei Antwort benachrichtigen
Borlander chrisbyRRC „Mit C++ eine .txt anzeigen lassen. Mit Designoberfläche!“
Optionen

Du kannst einfach die entsprechende Methode des Textfelds nutzen um die Datei einzulesen.

Ist AFAIR
TMemo.ReadFromFile(filename)


Gruß
Borlander

bei Antwort benachrichtigen
chrisbyRRC Borlander „Du kannst einfach die entsprechende Methode des Textfelds nutzen um die Datei...“
Optionen

Danke erstmal für die Hilfe, aber irgendwie mach ich noch etwas Falsch.
Habe jetzt unter Unit1.h folgendes stehen:

class TMemo : public TCustomMemo
{
TMemo.ReadFromFile(helpinfo.txt);
};

So und unter den Button dann:

FILE *fopen(const char "helpinfo.txt");

Ich bekomme folgende Fehler:

[BCC32 Fehler] Unit1.h(17): E2040 Deklaration nicht ordnungsgemäß abgeschlossen
[BCC32 Fehler] Unit1.cpp(25): E2188 Ausdruckssyntax
[BCC32 Fehler] Unit1.cpp(25): E2293 ) erwartet
[BCC32 Warnung] Unit1.cpp(27): W8004 'fopen' wurde ein Wert zugewiesen, der nie verwendet wird

PS: Tut mir echt leid wenn ich sonne billigen Fehler mache aber ich bin wie gesagt voll Anfänger in c++ und freu mich überhaupt das ich etwas zustande kriege. Finde den C++ Builder echt toll... :)

Ganz einfach im I-Net Geld verdienen und das nur durch benutzen einer Suchseite: http://www.tixuma.de/?ref=88237
bei Antwort benachrichtigen
Borlander chrisbyRRC „Danke erstmal für die Hilfe, aber irgendwie mach ich noch etwas Falsch. Habe...“
Optionen
TMemo.ReadFromFile(helpinfo.txt);
Keiner Wunder, daß das Kracht:
Der Dateiname muß natürlich als String übergeben werden.
Und das ist natürlich auch keine statische Methode: D.h.: Du mußt die Methode auf das konkrete Objekt anwenden.

Abgesehen davon: Ich hatte da leider nicht C++-Syntax verwendet. Methodenaufrufe erfolgen in C++ doch mit objekt->methode(..) ? Hab ewig nichts mehr mit C++ gemacht...


FILE *fopen(const char "helpinfo.txt");
Brauchst Du doch gar nicht mehr, wenn Du die Methode von TMemo verwendest...

Btw.: Delphi hat den selben GUI-Designer, verwendet mit Object-Pascal aber eine IMO einsteigerfreundlichere Sprache als C++...


Gruß
Borlander
bei Antwort benachrichtigen
sysinfo89 Borlander „ Keiner Wunder, daß das Kracht: Der Dateiname muß natürlich als String...“
Optionen

Delphi finde ich auch besser für den Einstieg.
Allerdings musst du dich in die Objektorientierte Denkweise
in beiden Varianten zunächst einarbeiten, bevor dein Können
in C++ bzw. Delphi exponential in die Höhe schießt.
Mühselig ist beides, also wenn du C++ lernen willst,
fahr die Schiene ruhig weiter ;) Viel Erfolg weiterhin.

Gruß
Steffen

bei Antwort benachrichtigen
chrisbyRRC sysinfo89 „Delphi finde ich auch besser für den Einstieg. Allerdings musst du dich in die...“
Optionen

Ok vielen Dank euch allen!
Werde Stück für Stück lernen. Immerhin ist C++ wirklich was ganz neues für mich. Und ich denke wenn ich mir die Mühe mache sowas zu erlernen sollte ich auch weiterhin bei C++ bleiben anstatt jetzt mit Delphi wieder von Vorne anzufangen.

Aber vielen Dank trotzdem! ;)

Achja könnte mir den einer zeigen wie die Zeile aussehen Müsste damit sie richtig ist?? :D
Ich lerne immer gut an Beispielscripten, nur leider habe ich keine zu C++ gefunden. Deshalb wäre es schön mal wenigstens die richtige Methode von euch zu bekommen.

Denn bis jetzt versteh ich noch viel zu wenig von C++ um mir die Zeile aus den Tipps von Borlander herzuleiten. Sry!

Ganz einfach im I-Net Geld verdienen und das nur durch benutzen einer Suchseite: http://www.tixuma.de/?ref=88237
bei Antwort benachrichtigen
Borlander chrisbyRRC „Ok vielen Dank euch allen! Werde Stück für Stück lernen. Immerhin ist C...“
Optionen

Eine konkrete Code-Zeile ist schon etwas schwierig. Die Bezeichner richten sich u.U. nach den von Dir vergebenen Namen.
Wenn es beim Standardnamen bleibt heißt das erste TMemo-Feld memo1, dementsprechend würde die Zeile so aussehen:
memo1->ReadFromFile("Readme.txt");
Allerdings ohne gewähr, ich habe derzeit keinen C++Builder installiert zum testen...


Gruß
Borlander

bei Antwort benachrichtigen
sysinfo89 Borlander „Eine konkrete Code-Zeile ist schon etwas schwierig. Die Bezeichner richten sich...“
Optionen

Fakt ist auf jeden Fall, dass du nicht mit Dateien im eigentlichen Sinne arbeitest, wenn du eine Text-File in ein Memo laden möchtest.
mMn, allerdings auch ohne Gewähr, wäre die Schreibweise diese:

" memo1.readfromfile("textdatei.txt"); "


Diese Zeile und alles was damit zusammenhängt, kannst du entfernen:

" FILE *fopen(const char "helpinfo.txt"); "


Gruß
Steffen

bei Antwort benachrichtigen
chrisbyRRC Borlander „Eine konkrete Code-Zeile ist schon etwas schwierig. Die Bezeichner richten sich...“
Optionen

Ah! Vielen Dank! ;)
Werd ich später mal ausprobieren, hab jetzt grad keine Lust dazu :D
Aber vielen Dank, so lässt es sich leichter verstehen. ;)

Ganz einfach im I-Net Geld verdienen und das nur durch benutzen einer Suchseite: http://www.tixuma.de/?ref=88237
bei Antwort benachrichtigen