hilfe bei c++builder6

Gast #1206797
Lesenswert?

hallo leute,
ich arbeite schon länger mit µcs und bin relativ fit in assembler (für 
meine controller-familie natürlich nur;), c und basic.
jetzt möchte ich aber auch programme für windows entwickeln, um den pc 
als leistungsfähige erweiterung meiner projekte zu nutzen.
deshalb übe ich mich etwas in c++ mit dem builder6 von borland ein.

aber nun zu meinem problem:
ich habe auf meinem formular ein edit-fenster und den inhalt dieses 
edit-fensters möchte ich in ein altmodisches char-array kopieren, um ihn 
per pointer zeichenweise auszuwerten. dafür hab ich die funktion 
strcpy() gefunden. leider funzt das net und er kompiler spukt mir als 
fehlermeldung aus, dass er die daten nicht konvertieren könnte....
1
#include <string.h>
2

3
...
4

5
char string[11];
6

7
strcpy(string, (*Edit).Text);
8

9
...

danke schonmal für eure antworten,
MC
#1206924
Lesenswert?

MC wrote:
>
1
> #include <string.h>
2
> 
3
> ...
4
> 
5
> char string[11];
6
> 
7
> strcpy(string, (*Edit).Text);
8
> 
9
> ...
10
>
>
> danke schonmal für eure antworten,
> MC

Schon in die Hilfe zu AnsiString gesehen?
Entweder direkt mit Edit->Text[index] auf die Zeichen zugreifen oder 
wenn's sein muss mit Edit->Text->c_str() den Zeiger auf das char-Array 
besorgen.
Gast #1206944
Lesenswert?

ich hab die hilfe und meine bücher über string an sich gewälzt. dort 
hatte ich so direkt aber nichts gefunden, um auf einzelne zeichen 
zuzugreifen....

ich hab das mal so ausprobiert wie du das vorgeschlagen hast und beim 
zweiten anlauf lief es. das komische ist, dass wenn der index=0 ist, 
mein programm während der ausführung einen fehler erzeugt. möchte ich 
auf das erste zeichen zugreifen, so muss der index=1 sein...?!
kann mir das jemand erklären? ich hab dazu nichts weiter gefunden.

und noch eine frage hab ich: ich hab aus der hilfe die schreibweise
1
(*Edit).Text
aber die von dir genannte schreibweise
1
Edit->Text
funzt auch... wo ist da genau der unterschied?

danke schonmal,
MC
Gast #1206971
Lesenswert?

MC wrote:
> und noch eine frage hab ich: ich hab aus der hilfe die schreibweise
>
1
> (*Edit).Text
2
>
> aber die von dir genannte schreibweise
>
1
> Edit->Text
2
>
> funzt auch... wo ist da genau der unterschied?

Es gibt keinen.
Gast #1207036
Lesenswert?

Hi,

> ich hab das mal so ausprobiert wie du das vorgeschlagen hast und beim
> zweiten anlauf lief es. das komische ist, dass wenn der index=0 ist,
> mein programm während der ausführung einen fehler erzeugt. möchte ich
> auf das erste zeichen zugreifen, so muss der index=1 sein...?!
> kann mir das jemand erklären? ich hab dazu nichts weiter gefunden.

Die Erklärung ist ganz einfach und für C/C++-Programmierer eigentlich 
haarsträubend: Die VCL-Klassenbibliothek des BCB ist eine reine 
Pascal-Library und jetzt rate mal bei welchem Index Pascal-Strings 
anfangen?
Bei 1 und nicht bei 0. Man muss also höllisch aufpassen, wenn man auf c 
und Pascal-Strings per Index zugreift!
Aber um kleine und schnelle Programme für Windows zu schreiben ist der 
BCB immer noch sehr gut geeignet.

Gruß,
Gast #1207307
Lesenswert?

>> funzt auch... wo ist da genau der unterschied?
>
>Es gibt keinen.
gut zu wissen, danke

>Die VCL-Klassenbibliothek des BCB ist eine reine
>Pascal-Library und jetzt rate mal bei welchem Index Pascal-Strings
>anfangen?
auf sowas muss man erstmal kommen, damit hab ich nu wirklich nicht 
gerechnet. danke für die info;)

>Aber um kleine und schnelle Programme für Windows zu schreiben ist der
>BCB immer noch sehr gut geeignet.
sind wirklich nur ganz kleine tools die ich mir da zusammenbastel.
aber so langsam versteh ich, warum über borland geflucht wird...
Gast #1227143
Lesenswert?

tag leute, ich bin's nochmal.
dank eurer hilfe hab ich mein projekt jetzt fast fertig bekommen. nun 
stehe ich leider vor einem neuen problem und da ich momentan nicht 
zuhause bin komme ich leider an meine c-bücher nicht ran und aus der 
hilfe werd ich nicht wirklich schlau bzw. fündig.

aber nun zu meinem problem: ich hab ein char-array welches ich in einer 
*.hex datei speichern möchte. der aufbau einer *.hex datei is kein 
problem, dazu hab ich genügend gefunden. mein problem liegt eher im 
anlegen der datei.
ich hab's bisher geschafft die datei anzulegen und zu beschreiben. 
allerdings landet die datei immer im verzeichnis wo auch das programm 
abgelegt ist. ich möchte das verzeichnis für die *.hex datei aber frei 
wählen können, am liebsten durch so ein "speichern unter" fenster. 
leider finde ich dazu gar nichts. aber der c++-builder6 sollte als RAD 
doch sowas praktisch fertig bereithalten, oder net?

danke schonmal für eure hilfe,
MC
Gast #1227423
Lesenswert?

danke für den tip!
mit ein bissl googlen hat jetzt alles wunderbar geklappt!
wenn ich ganz fertig bin werd ich mein projekt hier auch mal vorstellen, 
kann mir vorstellen dass einige daran gefallen finden werden ;)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren