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 ;)
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
ää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.
Du kannst einfach die entsprechende Methode des Textfelds nutzen um die Datei einzulesen.
Ist AFAIR
TMemo.ReadFromFile(filename)
Gruß
Borlander
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... :)
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
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
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!
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
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
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. ;)