www.mikrocontroller.net

Forum: PC-Programmierung hilfe bei c++builder6


Autor: MC (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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....
#include <string.h>

...

char string[11];

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

...

danke schonmal für eure antworten,
MC

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MC wrote:
>
> #include <string.h>
> 
> ...
> 
> char string[11];
> 
> strcpy(string, (*Edit).Text);
> 
> ...
> 
>
> 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.

Autor: MC (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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
(*Edit).Text
aber die von dir genannte schreibweise
Edit->Text
funzt auch... wo ist da genau der unterschied?

danke schonmal,
MC

Autor: Sven P. (haku) Benutzerseite
Datum:

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

Es gibt keinen.

Autor: Superberti (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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ß,

Autor: MC (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: MC (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jean Player (fubu1000)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
gibts ja auch schon fertig. Schau mal unter dem "Reiter" Dialog und dann 
SaveDialog.
Oder du gehst auf Ansicht--->Komponentenliste--->TSaveDialog


Gruß

Autor: MC (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.