Forum: Mikrocontroller und Digitale Elektronik String in char convertieren


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Eva T. (Firma: asasd) (heammers6)


Lesenswert?

Hallo zusammen, bin noch Einsteiger und habe ein kleines problem
ich möchte einen String in ein char convertieren.
diesen char möchte ich dann ausgeben.
Am Seriellen Monitor sehe ich aber nichts.

String input = "Hallo test";
int input_len = input.length() + 1;
char char_array[input_len];
input.toCharArray(char_array, input_len);
Serial.println(char_array);


Woran liegt das?

von MaWin (Gast)


Lesenswert?

Welche Sprache?

von Eva T. (Firma: asasd) (heammers6)


Lesenswert?

MaWin schrieb:
> Welche Sprache?

Arduino

von EAF (Gast)


Lesenswert?

Eva T. schrieb:
> MaWin schrieb:
>> Welche Sprache?
>
> Arduino

Arduino ist keine Sprache!
Diese es heißt C++, und auch ein bisschen C und ASM gibts da ebenfalls.


Warum nicht einfach:
1
Serial.println(input);

von Eva T. (Firma: asasd) (heammers6)


Lesenswert?

EAF schrieb:
> Warum nicht einfach:

ich möchte zu dem input noch etwas dazu schreiben.
Also eigentlich
ausgabe = input + char_array

von EAF (Gast)


Lesenswert?

Eva T. schrieb:
> ich möchte zu dem input noch etwas dazu schreiben.

Eva T. schrieb:
> ich möchte zu dem input noch etwas dazu schreiben.
Was hindert dich?

von Ohne Italien fahren wir zur WM (Gast)


Lesenswert?

memcpy mit string.c_str() ?

von Stefan F. (stefanus)


Lesenswert?

Strings kannst du direkt verketten:

https://myhomethings.eu/de/arduino-string-objekte/

Für eine Ausgabe ist aber selbst das Verketten unnötig kompliziert. 
Mache einfach zwei Ausgaben nacheinander:

Serial.print(input)
Serial.println(char_array)

: Bearbeitet durch User
von EAF (Gast)


Lesenswert?

Ohne Italien fahren wir zur WM schrieb:
> memcpy mit string.c_str() ?

Wozu?

Hier mal zum mitmeißeln:
1
#include <Streaming.h> // die Lib findest du selber ;-)
2
Print &cout = Serial; // cout Emulation für "Arme"
3
4
5
String input = "Hallo test";
6
7
void setup() 
8
{
9
  Serial.begin(9600);
10
  cout << F("Start: ") << F(__FILE__) << endl;
11
12
  
13
  String ausgabe = input + " und nochwas";
14
  cout << ausgabe << endl;
15
}
16
17
void loop() 
18
{
19
20
}

von Georg M. (g_m)


Lesenswert?

EAF schrieb:
> Arduino ist keine Sprache!

"Die Programmierung selbst erfolgt in einer C- bzw. C++-ähnlichen 
Programmiersprache, wobei technische Details wie Header-Dateien vor den 
Anwendern weitgehend verborgen werden"
https://de.wikipedia.org/wiki/Arduino_(Plattform)

von EAF (Gast)


Lesenswert?

Georg M. schrieb:
> . C++-ähnlichen Programmiersprache
Nicht ähnlich.
Sondern C++!
Wie kann ich dir das beweisen?

von Schlaumaier (Gast)


Lesenswert?

https://arduinogetstarted.com/de/reference/arduino-string-tochararray

Extra für den TO gegoogelt :)  Bin lieb heute ;)

Wieso können die Kiddys nicht mehr google benutzen.

google starten.

arduino string to char array  <- eingeben (wird zu hälfte vorgeblendet)

Dann !!! Suchfilter = Seiten auf Deutsch.

Bei mir der erste Treffer.


Ich bin echt lieb heute. tztztz

von Peter K. (os2fan2)


Lesenswert?

Schlaumaier schrieb:
> Wieso können die Kiddys nicht mehr google benutzen.

Muss man das?!?
Können die anderen heute nicht mehr miteinander Kommunizieren und 
googeln nur noch!? ;-)
Denk mal drüber nach:-)
Eigentlich ist dieser Weg doch der bessere, meinst Du nicht? Egal wie 
oft eine Frage schon gestellt wurde.
Würdest Du Deinem Kind, wenn es dich fragst, ach so antworten" Google es 
doch, kannst du das nicht"
Nenene

von Schlaumaier (Gast)


Lesenswert?

Peter K. schrieb:
> Können die anderen heute nicht mehr miteinander Kommunizieren und
> googeln nur noch!? ;-)
> Denk mal drüber nach:-)

Habe ich.

Und ich halte mich an den alten Spruch meiner Mutter "Hilf dir selbst, 
dann hilft dir Gott". !!!

Das nennt man selbstständiges Denken und recherchieren. !!!! Und das 
kann keiner mehr.

Klar es gibt Fragen wo auch eine längere Suche im Netz o. Büchern keine 
Antwort bringt. Dann muss man Fachleute suchen.

Aber wie ich immer sage : "Wenn ich wirklich mal ein Problem habe und 
nicht weiter weiß ist es sehr schwer ein zu finden, der da wirklich Plan 
hat."

Was NICHT bedeutet das ich alles weiß. Nur 99% der Infos die man braucht 
kann man sich selbst beschaffen. Und das 1 % ist das Problem. Oder wie 
man im Wilden Westen sagte : "Es gibt sicher ein der schneller ist wie 
ich, aber denn muss man erst finden". ;)

Ach nur so Nebenbei. Ich habe so 22 Jahre auf der Firma allein 
gearbeitet. Der Chef o. wer auch immer, kam in mein Büro und schilderte 
das Problem. Ich arbeitete die Lösung aus. Und JA ich habe dafür viel 
Telefoniert und später google + Co. benutzt.

von Torsten S. (tse)


Lesenswert?

Die Kiddys von heute googeln nicht mehr - das war gestern.
Die suchen auf TikTok.
Selbst erlebt.

von Joachim B. (jar)


Lesenswert?

Torsten S. schrieb:
> Die suchen auf TikTok.

die suchen die Dummen die für sie arbeiten regelmäßig hier!

von Peter K. (os2fan2)


Lesenswert?

"Das nennt man selbstständiges Denken und recherchieren. !!!! Und das
kann keiner mehr."

Vielleicht schlussfolgerst Du das nur?
Und die Generation sucht einfach wieder meh den zwischenmenschlichen 
Kontakt

Aber so oder so, ist es ja auch nicht schlimm, wenn man einfach fragt 
und nicht recherchiert.
Der eine so, der Andere so.

Die Welt ist ja nicht nur S/W, abgesehen tut es keine Weh, es entsteht 
keinerlei Schaden.
Also, sei's drum

von Georg M. (g_m)


Angehängte Dateien:

Lesenswert?

EAF schrieb:
> Wie kann ich dir das beweisen?

von Dieter (Gast)


Lesenswert?

Ist es wirklich schon soweit? Denken die Leute jetzt tatsächlich schon, 
"Arduino" wäre eine eigene Sprache?

von EAF (Gast)


Lesenswert?

Georg M. schrieb:
> EAF schrieb:
>> Wie kann ich dir das beweisen?

Ich habe dich gefragt, wie ich dir das beweisen kann.....
Ich habe dich nicht aufgefordert irgendwelchen Blödsinn nach zu 
plappern.



Hier ein Nachweis:
1
#include <Streaming.h> // die Lib findest du selber ;-)
2
Print &cout = Serial; // cout Emulation für "Arme"
3
4
void setup() 
5
{
6
  Serial.begin(9600);
7
  cout << __cplusplus << endl;
8
}
 __cplusplus ist KEIN Arduinobestandteil, sondern stammt aus der GCC 
Toolchain

Das Programm sagt bei mir: 202100
(das kann bei dir was anderes zeigen)

von EAF (Gast)


Lesenswert?

Dieter schrieb:
> Denken die Leute jetzt tatsächlich schon,
> "Arduino" wäre eine eigene Sprache?
Offensichtlich!
Ich finde die Aussage in der Arduino Doku schon arg bedenklich.

von Schlaumaier (Gast)


Lesenswert?

Leute : Ihr habe BEIDE Recht.

Ist das selbe wie BASIC.

Basic gibt es ein Ewigkeiten. ABER !!. In jeder Compilerversion werden 
Dinge verändert.

Einer meiner Lieblingsbefehle war RIGHT$(y,x).

z.b. tx$ ="hundeklo"  : a$ = right(tx$,3)

dann ist a$ "klo"

Der Befehl wurde in VB-2010 abgeschafft, und ich habe ihn via Funktion 
nachbilden müssen.

Mit Arduino-C und "richtigen" C ist es das selbe.

Grundsätzlich ist C = C , wie Basic = Basic ist.

Aber viele Funktionen/ Befehle werden in Arduino-C nicht unterstützt. 
Also ist die Aussage auf der Homepage richtig.

Wenn ich ein BASCOM - Programm in mein VB lade, sagt der Compiler auch 
nur "WOT" ?!?! :;)

Die Syntax ist zwar innerhalb der Programmiersprache gleich aber der 
Rest .......... .

von EAF (Gast)


Lesenswert?

Schlaumaier schrieb:
> Aber viele Funktionen/ Befehle werden in Arduino-C nicht unterstützt.
Welche?
Sowohl C und auch C++ stehen vollständig zur Verfügung.

Einzig auf AVR fehlt die libstc++, aber das ist eine Einschränkung der 
Toolchain, welche genauso für alle anderen IDEs zutrifft, welche AVR-GCC 
verwenden.


Schlaumaier schrieb:
> Also ist die Aussage auf der Homepage richtig.
Ja?
Woran machst du das fest?

von Rolf M. (rmagnus)


Lesenswert?

Peter K. schrieb:
> Schlaumaier schrieb:
>> Wieso können die Kiddys nicht mehr google benutzen.
>
> Muss man das?!?

Sollte man heutzutage auf jeden Fall können, ja. Früher gingen die 
Menschen in eine Buchhandlung und haben da versucht, Bücher zu finden, 
die die Informationen enthalten und diese dann gekauft. Das war mühsam, 
umständlich und kostete Geld. Heute ist es einfacher denn je, kostenlos 
an fast alle erdenklichen Informationen zu kommen, und ich habe den 
Eindruck, dass es gerade z.B. in Foren wie hier sehr viele Menschen 
gibt, die dazu dennoch nicht in der Lage sind und stattdessen alles 
nachfragen müssen.

> Können die anderen heute nicht mehr miteinander Kommunizieren und
> googeln nur noch!? ;-)

Darum geht es doch gar nicht. Natürlich kann und soll man kommunizieren, 
aber das heißt doch nicht, dass man sich jetzt selbst die simpelsten 
Dinge von anderen erklären lassen muss. Als 6-jähriges Kind macht man 
sowas, aber doch nicht als Erwachsener.

> Eigentlich ist dieser Weg doch der bessere, meinst Du nicht? Egal wie
> oft eine Frage schon gestellt wurde.

Nein.

> Würdest Du Deinem Kind, wenn es dich fragst, ach so antworten" Google es
> doch, kannst du das nicht"

Es geht nicht um Kinder.

Dieter schrieb:
> Ist es wirklich schon soweit? Denken die Leute jetzt tatsächlich schon,
> "Arduino" wäre eine eigene Sprache?

Das ist eben das, was die Arduino-Hompeage versucht, ihnen einzureden. 
Da wird sehr gut versteckt, dass es eigentlich C++ ist.
Wenn jemand so seinen ersten Kontakt mit dem Thema Programmierung hat 
und dort überall nur von der "Arduino programming language" liest, wie 
soll der auf die Idee kommen, dass es sich in Wirklichkeit um C++ 
handelt?

: Bearbeitet durch User
von Peter K. (os2fan2)


Lesenswert?

"Sollte man heutzutage auf jeden Fall können,"
Noch mal....kann es sein das Du hier übereilt falsche Schlussfolgerungen 
ziehst?
Niemand sagt, dass er es nicht könnte und Du weißt es nicht, im Grunde 
kann es dir auch völlig egal sein.


Wenn Du einfach mal Googeln benutzen würdest...dort steht
"Ist Arduino C oder C++?
Syntaktisch basiert Arduino auf C, wodurch die Einbindung von C 
Libraries möglich ist. Dennoch befindet sich die Sprache Arduino eine 
Ebene höher als C/C++ und ermöglicht eine direkte Einbindung von 
Hardware Komponenten ohne den Einsatz von Hardwareadressen."


Und wenn Du jetzt behauptest das diese Aussage falsch wäre, dann seihst 
Du, weshalb direkte Kommunikation besser ist, als stundenlang von A nach 
B zu goggeln um die antworten von Googel erst verifizieren zu müssen...

: Bearbeitet durch User
von C.K. (Gast)


Lesenswert?

Da schreiben wieder irgendwelchen Marketing Menschen einen Blödsinn 
zusammen.

Diese "Arduino programming language" ist einfach ein Hardware 
Abstraction Layer ("HAL") die in C/C++ geschrieben ist.
Und es erlaubt die gleichen C/C++ Funktionen auf unterschiedlicher 
Arduino Hardware zu verwenden.

z.B. AVR (Uno/Leonardo/Mega,... ), ARM (Due), Xtensa LX6 (ESP) oder auch 
x86 (Genuino 101).

von Peter K. (os2fan2)


Lesenswert?

Jepp, mir ist das klar und Dir, aber der Neuling der danach googelt 
bekommt diese Antwort.
Mir ging es nu um dieses "Kann die Jugend nicht mehr selber googeln"
Ich hoffe, jetzt wird klarer, wieso es auch noch andere Lösung als 
Google gibt:-)

von EAF (Gast)


Lesenswert?

Peter K. schrieb:
> Syntaktisch basiert Arduino auf C, wodurch die Einbindung von C
> Libraries möglich ist.
Das klingt unlogisch.

Denn:
Die meisten Arduino Libraries sind in C++ abgefasst.
Kann man C++ Quellcode/Libs direkt in C einbinden?
Nein! (nicht ohne Wrapper zu bauen)
Anders rum allerdings, durchaus ja.

Peter K. schrieb:
> Dennoch befindet sich die Sprache Arduino eine
> Ebene höher als C/C++ und ermöglicht eine direkte Einbindung von
> Hardware Komponenten ohne den Einsatz von Hardwareadressen."
Das ist eben so unlogisch!
Wie will man irgendeine Hardware ansprechen können, ohne sie zu 
"adressieren"?

Ja, für Furz und Feuerstein gibt es Libraries, in der Arduino Welt.
Diese sind in den allermeisten Fällen in C++ abgefasst und adressieren 
sehr wohl die Hardware. Das ist ihr Job.

Es gibt einen einzigen Punkt, wo man evtl. ansetzen können um Arduino 
als eigene Sprache zu betrachten:
Der Builder ist nicht nur ein Make Ersatz/Äquivalent, sondern klebt auch 
alle *.ino Dateien aneinander und jagt noch einen Präprozessor über das 
Resultat.

In dem Resultat wird ein
1
#include <Arduino.h>
 an den Anfang gesetzt.
Es werden Vorwärtsreferenzen für die Funktionen angelegt (Prototypen), 
welche in den INO Dateien definiert sind.
Das sind die einzigen Änderungen, die eine *.ino Datei von einer *.cpp 
Datei unterscheidet. Oder anders: So wird eine *.ino zu einer *.cpp.

*.h, *.c, *.cpp und *.S Dateien werden dem Compiler/Assembler 
unverändert übergeben.

von Steve van de Grens (roehrmond)


Lesenswert?

Peter K. schrieb:
> Dennoch befindet sich die Sprache Arduino eine
> Ebene höher als C/C++ und ermöglicht eine direkte Einbindung von
> Hardware Komponenten ohne den Einsatz von Hardwareadressen."

Das ist Marketing Geschwurbel. Denn das geht sowohl in C als auch in C++ 
mit ganz normalen Bibliotheken. Die Arduino Bibliotheken sind ganz 
normale Bibliotheken.

EAF schrieb:
> Der Builder ist nicht nur ein Make Ersatz/Äquivalent, sondern ...

So sehe ich das auch. Arduino hat einen Build Prozessor gebaut, aber 
keine neue Programmiersprache eingeführt.

: Bearbeitet durch User
von EAF (Gast)


Lesenswert?

Wer belastbare Informationen über den Build Process haben möchte sollte 
dieses lesen:
https://arduino.github.io/arduino-cli/0.20/sketch-build-process/

Des weiteren finden sich dort, hinter den anderen Menüpunkten, 
umfangreiche Informationen über den Aufbau von Libs und 
Hardwaredefinitionen usw.

Ich kann nur jedem raten, wer sich etwas tiefer mit Arduino beschäftigen 
möchte, das alles einmal durchzulesen.

von Jester (Gast)


Lesenswert?

Faden kapern und Frolleinchens erschrecken - ihr seid mir ja wahrlich 
"Männer vom Welt" ...

von Stefan F. (stefanus)


Lesenswert?

Schlaumaier schrieb:
> Ist das selbe wie BASIC. Basic gibt es ein Ewigkeiten.
> ABER !!. In jeder Compilerversion werden Dinge verändert.

Ist es nicht, Arduino hat den Compilern absolut gar nichts verändert.

von Peter (Gast)


Lesenswert?

So:

String input = "Hallo test";
Serial.println(input.c_str());

von Peter (Gast)


Lesenswert?

Eva T. schrieb:
> ich möchte zu dem input noch etwas dazu schreiben.
> Also eigentlich
> ausgabe = input + char_array

String input;
char x[] = "123";

input = "Hallo ";
input += x;
input += 456;

Serial.println(input.c_str());

Ausgabe: Hallo 123456

Schau dir mal die Arduino Doku an

von EAF (Gast)


Lesenswert?

Peter schrieb:
> So:
>
> String input = "Hallo test";
> Serial.println(input.c_str());

Neee!!!!
Serial.println(input);
Reicht voll kommen!

Aber:

Eva T. schrieb:
> ich möchte zu dem input noch etwas dazu schreiben.

Also:
Serial.println(input + " was anderes");

von Stefan F. (stefanus)


Lesenswert?

EAF schrieb:
> Serial.println(input + " was anderes");

Aber so belegt du einen temporären Puffer, der die beiden Teilstrings 
aufnimmt. Wenn man sie einzeln ausgibt (mit print() und println()), 
spart man sich das. Je nach dem wie wenig RAM der Mikrocontroller hat, 
lohnt sich das.

von EAF (Gast)


Lesenswert?

Stefan F. schrieb:
> Aber so belegt du einen temporären Puffer, der die beiden Teilstrings
> aufnimmt.

Ja und?
Ja es wird ein Buffer auf dem Heap angelegt!
Aber dank RAII auch wieder abgebaut.
Also: Nullsumme, in Sachen Speicher.

Stefan F. schrieb:
> Wenn man sie einzeln ausgibt (mit print() und println()),
> spart man sich das.
Finde ich unschön, bevorzuge darum sowas:

1
String input = "Hallo test";
2
cout << input << " space " <<  " was anderes" << endl;
3
4
oder auch:
5
char *input = "Hallo test";
6
cout << input << " space " <<  " was anderes" << endl;
Das ganze kann man noch mit F() PSTR und PROGMEM usw. garnieren, wenn 
man denn RAM freischaufeln will.

von Stefan F. (stefanus)


Lesenswert?

EAF schrieb:
> Ja und?
> Ja es wird ein Buffer auf dem Heap angelegt!
> Aber dank RAII auch wieder abgebaut.

Mache das mal mit einer HTML Seite, dann lernst du schnell die Grenzen 
der kleinen AVR Mikrocontroller kennen. Daran sind sogar schon Leute auf 
ESP8266 gescheitert. Ich habe nicht umsonst geschrieben:

"Je nach dem wie wenig RAM der Mikrocontroller hat, lohnt sich das."

Dein Vorschlag mit cout ist meinem ähnlich, weil dabei ebenfalls die 
Teile nacheinander ausgegeben werden, anstatt sie erst temporär zusammen 
zu kopieren.

: Bearbeitet durch User
von EAF (Gast)


Lesenswert?

Stefan F. schrieb:
> Mache das mal mit einer HTML Seite, dann lernst du schnell die Grenzen
> der kleinen AVR Mikrocontroller kennen.

Das ist doch gar nicht das Thema hier!
Im Eingangsposting wird ein Buffer angelegt
Und auch alle anderen hier gezeigten Vorschläge mit memcpy() und 
strcpy() usw. benötigen Buffer!

Klar du willst mal wieder recht haben, verstehe ich auch.
Allerdings braucht "Textverarbeitung" IMMER Buffer.
Auf µC und auch auch dickeren Kesseln.
Nur Magier kommen immer ohne aus.
Z.B. du.

Am Rande:
String belegt den Buffer auf dem Heap, drum passt da z.B. beim ESP32 
viel mehr rein, als man auf dem Stack unterbringen kann.
FreeRTOS begrenzt den Stack

Im Eingangsposting wird Stack belegt, ist somit kritischer.

von Stefan F. (stefanus)


Lesenswert?

EAF schrieb:
> Allerdings braucht "Textverarbeitung" IMMER Buffer.

Aber die Textausgabe mittel Serial.print() und println() ist bereits 
gepuffert. Man gewinnt nichts damit, noch einen weiteren puffer davor zu 
packen. Man verschwendet nur RAM, der eventuell (kommt auf die Anwendung 
an) knapp ist.

EAF schrieb:
> Im Eingangsposting wird Stack belegt, ist somit kritischer.

Da stimme ich dir zu.

: Bearbeitet durch User
von EAF (Gast)


Lesenswert?

Stefan F. schrieb:
> Aber die Textausgabe mittel Serial.print() und println() ist bereits
> gepuffert. Man gewinnt nichts damit, noch einen weiteren puffer davor zu
> packen.
Du möchtest HTML über Serial ausliefern?
Interessant, wie du doch fleißig die Problemstellung deiner 
Argumentation anpassen kannst.
Bewundernswert!

Im ernst:
Ist doch schön, wenn du auf jegliche Buffer verzichten kannst.
Meine Glückwünsche, und meinen Segen!

PS:
Du könntest mir jetzt auch noch erzählen, dass die Erde kugelig ist, und 
keine Scheibe!
Da hat zwar keiner nach gefragt, und ich auch nie was gegenteiliges 
behauptet...
Aber sowas hält dich ja nicht von einer Belehrung ab, oder?

von Rolf M. (rmagnus)


Lesenswert?

EAF schrieb:
> Klar du willst mal wieder recht haben, verstehe ich auch.
> Allerdings braucht "Textverarbeitung" IMMER Buffer.
> Auf µC und auch auch dickeren Kesseln.
> Nur Magier kommen immer ohne aus.
> Z.B. du.

Ich finde jetzt nicht, dass es Magie ist, wenn jemand zwei Strings vor 
der Ausgabe nicht erst zu einem zusammen kopiert, sondern direkt separat 
ausgibt. Und er hat doch Recht: man spart sich bei der zweiten Variante 
den sonst nötigen Speicher für den zusätzlichen String, was auf µCs je 
nach Typ schon sinnvoll sein kann. Das hat auch nichts damit zu tun, ob 
für den seriellen Port irgendwo ein Puffer existiert.

von Stefan F. (stefanus)


Lesenswert?

>> Aber die Textausgabe mittel Serial.print() und println() ist bereits
>> gepuffert. Man gewinnt nichts damit, noch einen weiteren puffer davor zu
>> packen.

EAF schrieb:
> Du möchtest HTML über Serial ausliefern?
> Interessant, wie du doch fleißig die Problemstellung deiner
> Argumentation anpassen kannst.
> Bewundernswert!

Du lenkst ab. Es geht um einen Ratschlag, wie er RAM sparen kann, 
falls er es braucht. Für euch ewigen Nörgler haben ein konkretes 
Beispiel genannt, dass direkt einleuchtet.

Kennst du etwa nicht diese Boards mit AVR und ESP8266, wo die beiden 
seriell kommunizieren?

https://www.elektormagazine.de/news/mein-weg-ins-iot-10-das-pretzel-board
https://forum.arduino.cc/t/atmega328p-esp8266-wifi-tutorial/944380

Na egal, dann halt nicht. Unkenntnis ist jedoch kein Grund, sich über 
andere Lächerlich zu machen. Dein Verhalten ist lächerlich, zudem es 
deutlich offenbart, dass du kein erfahrener Programmierer bist.

Auch in anderen Szenarien muss man manchmal sparsam mit RAM umgehen und 
kann nicht einfach beliebig lange Zeilen zusammen kopieren um sie an 
einem Stück auszugeben.

: Bearbeitet durch User
von EAF (Gast)


Lesenswert?

Rolf M. schrieb:
> Ich finde jetzt nicht, dass es Magie ist, wenn jemand zwei Strings vor
> der Ausgabe nicht erst zu einem zusammen kopiert, sondern direkt separat
> ausgibt. Und er hat doch Recht: man spart sich bei der zweiten Variante
> den sonst nötigen Speicher für den zusätzlichen String, was auf µCs je
> nach Typ schon sinnvoll sein kann.

Hast du vielleicht gesehen, dass ich genau so ein Beispiel auch 
vorgeführt habe?
Nein?
Dann bitte Augen auf!

Habe ich irgendwo gesagt, man(oder Frau) müsse unbedingt unnötige Buffer 
anlegen?
Man man man....

Im Eingangsposting wird nach der Verknüpfung 2er Strings gefragt, vor 
der Ausgabe.
Dazu kamen viele Aussagen, die String völlig unnötig zu C-strings 
konvertieren wollten, sogar mit memcpy() usw.


Dadrauf bezieht sich mein erstels Beispiel, auf dem das Stefan Dingen 
dann angesprungen ist um mein mich kritisieren zu müssen.


Stefan F. schrieb:
> Du lenkst ab. Es geht um einen Ratschlag, wie er RAM sparen kann,
> falls er es braucht.
Offensichtlich nicht ER, sondern SIE!
Und warum ist der "Vorschlag" dann an mich adressiert, in Form eine 
Kritik?
Weil du Streit haben willst?

Stefan F. schrieb:
> Na egal, dann halt nicht. Unkenntnis ist jedoch kein Grund, sich über
> andere Lächerlich zu machen. Dein Verhalten ist lächerlich, zudem es
> deutlich offenbart, dass du kein erfahrener Programmierer bist.
Ich danke dir dafür!

Zu Belohnung, hast du mich ernsthaft sauer gemacht.
Wenn du das erreichen wolltest, dann hast du damit Erfolg!

Tipp:
Genieße deine momentanen Glücksgefühle, die werde ich dir schon noch 
austreiben.
Und zwar fachlich und gewürzt mit einer gehörige Ladung Verachtung.
Das möchtest du doch.....

von EAF (Gast)


Lesenswert?

EAF schrieb:
> Dadrauf bezieht sich mein erstels Beispiel, auf dem das Stefan Dingen
> dann angesprungen ist um mein mich kritisieren zu müssen.

Korrektur:
Darauf bezieht sich mein Beispiel, auf dem das Stefan Dingen dann 
angesprungen ist um mich kritisieren zu wollen.

von Jester (Gast)


Angehängte Dateien:

Lesenswert?

EAF schrieb:
> Zu Belohnung, hast du mich ernsthaft sauer gemacht.
> Wenn du das erreichen wolltest, dann hast du damit Erfolg!
>
> Tipp:
> Genieße deine momentanen Glücksgefühle, die werde ich dir schon noch
> austreiben.
> Und zwar fachlich und gewürzt mit einer gehörige Ladung Verachtung.
> Das möchtest du doch.....

Ich glaube fast, hier ist Testosteron im Spiel.

- face plant -

von W.S. (Gast)


Lesenswert?

EAF schrieb:
> Nicht ähnlich.
> Sondern C++!
> Wie kann ich dir das beweisen?

Mir fällt dazu ein Dialog aus "Kingdom o Magic" ein:
Thidney trifft einen Ork und sagt "Oh, ein Goblin".
Der Ork drauf (zornig); "Ich bin kein Goblin, sndern ein ORK!".
Darauf Thidney: "Ist doch dasselbe, nur größer und häßlicher!"

Hier gab's ja auch Leute, die nicht in Pascal, sonden in Delphi 
programmierten.
Frohe Weihnacht!

W.S.

von Stefan F. (stefanus)


Lesenswert?

W.S. schrieb:
> Hier gab's ja auch Leute, die nicht in Pascal, sonden in Delphi
> programmierten.

Das sind immerhin zwei weit auseinander liegende Versionen mit 
unterschiedlichen Features.

Arduino hat aber weder eine eigene Sprache noch einen eigenen 
abgespeckten Compiler. Es ist der Ork in seiner vollen Größe.

von W.S. (Gast)


Lesenswert?

Eva T. schrieb:
> Hallo zusammen, bin noch Einsteiger und habe ein kleines problem
> ich möchte einen String in ein char convertieren.

Versuche vorher, mal das Ganze zu verstehen.

Also ein char ist gemeinhin irgend ein Textzeichen, also irgend etwas 
Druckbares. In C kann man damit auch rechnen, weil die Erfinder von C 
unter 'char' eigentlich das Byte verstehen wollten und es somit als 
kleinstes Integerformat gilt.

Strings gibt es in C nicht. Punkt. Stattdessen gibt es Felder von Bytes, 
wo man Bytes aka char's hineintun kann und um das Ende davon zu 
kennzeichnen, fügt man anschließend ein Nullbyte dran.

Das, was du als String betrachtest, ist also eine Folge von Bytes, 
gefolgt von einem Byte, was 0 ist. Und das sind mehrere Bytes (aka 
char's) und nicht bloß ein char. So eine von dir beabsichtigte 
Konvertierung kann also prinzipiell nicht funktionieren.

Eva T. schrieb:
> String input = "Hallo test";

Versuche mal, auch das zu verstehen. Du deklarierst also eine Variable, 
die folglich ins RAM kommt (wir sind hier ja bei den Mikrocontrollern) 
und die soll die Zeichenfolge Hallo test  enthalten. Wer bittesehr soll 
das in den RAM stopfen? Vielleicht sagst du jetzt "der Startup-Code soll 
mir das machen", also schau in den Startupcode, ob der sich wirklich 
darum kümmert und schau in die von deiner Toolchain erzeugte Datei, ob 
da wirklich die Anweisungen dazu drinstehen. Willst du nicht, weil es 
dir zu kompliziert ist? Dann verlaß dich nicht drauf, sondern mache es 
anders. Ohne solche Umwege wie Kopieren von einem RAM-Bereich in einen 
anderen.

Was passiert bei dir eigentlich, wenn du folgendes schreibst:
Serial.println("Hallo test");
Das wäre doch wohl das, was du von deinem Programm haben willst.

W.S.

von Stefan F. (stefanus)


Lesenswert?

Es geht um das Verketten von Strings und Zeichenketten in Arduino, um 
sie zusammen am Stück auszugeben. Strings sind C++ Objekte. Auf die 
zugehörige Dokumentation wurde bereits verwiesen. Mehrere Möglichkeiten 
wurden erörtert, und die Notwendigkeit der Verkettung wurde hinterfragt.

Und dann kommst du:

W.S. schrieb:
> Das, was du als String betrachtest, ist also eine Folge von Bytes,
> gefolgt von einem Byte, was 0 ist.

Du hast mal wieder Null Ahnung von der Sache und zudem nicht gelesen, 
was andere vor dir schrieben. Die Frage des TO hast du nicht einmal ein 
bisschen beantwortet. Den unpassender Beitrag stiftet nur Verwirrung. 
Ich hatte mal eine hohe Meinung von dir, aber deine Beiträge werden 
immer sinnloser. Was ist los?

: Bearbeitet durch User
von Rolf M. (rmagnus)


Lesenswert?

EAF schrieb:
> Rolf M. schrieb:
>> Ich finde jetzt nicht, dass es Magie ist, wenn jemand zwei Strings vor
>> der Ausgabe nicht erst zu einem zusammen kopiert, sondern direkt separat
>> ausgibt. Und er hat doch Recht: man spart sich bei der zweiten Variante
>> den sonst nötigen Speicher für den zusätzlichen String, was auf µCs je
>> nach Typ schon sinnvoll sein kann.
>
> Hast du vielleicht gesehen, dass ich genau so ein Beispiel auch
> vorgeführt habe?

Ich sehe von dir das hier:

EAF schrieb:
> Eva T. schrieb:
>> ich möchte zu dem input noch etwas dazu schreiben.
>
> Also:
> Serial.println(input + " was anderes");

> Habe ich irgendwo gesagt, man(oder Frau) müsse unbedingt unnötige Buffer
> anlegen?

Nein, aber du hast gesagt, dass es egal sei, wenn man das tut:

EAF schrieb:
> Ja und?
> Ja es wird ein Buffer auf dem Heap angelegt!
> Aber dank RAII auch wieder abgebaut.
> Also: Nullsumme, in Sachen Speicher.

Es stimmt zwar in dem Sinne, dass nach der Aktion nicht mehr Speicher 
belegt ist als davor, aber darum ging es nicht. Es ging darum, dass 
während ihr zusätzlicher Speicher unnötig belegt wird.

> Im Eingangsposting wird nach der Verknüpfung 2er Strings gefragt, vor
> der Ausgabe. Dazu kamen viele Aussagen, die String völlig unnötig zu
> C-strings konvertieren wollten, sogar mit memcpy() usw.

Ja, die waren unsinnig, brauchen aber auch nicht mehr Platz als dein 
Beispiel oben mit dem Operator +.

W.S. schrieb:
> Strings gibt es in C nicht. Punkt.

Es gibt in C keinen eigenen Datentyp für Strings. Strings an sich gibt 
es natürlich schon, denn sonst könnte man keinen Text ausgeben.

> Stattdessen gibt es Felder von Bytes, wo man Bytes aka char's hineintun
> kann und um das Ende davon zu kennzeichnen, fügt man anschließend ein
> Nullbyte dran.

Genau das ist in C ein String: Ein Array aus char, das mit einem 
Nullbyte endet.

> Das, was du als String betrachtest, ist also eine Folge von Bytes,
> gefolgt von einem Byte, was 0 ist.

Nein, da es hier gar nicht um C geht und der TO mit "String" kein Array 
aus char, sondern die Arduino-Klasse String gemeint hat.

> Versuche mal, auch das zu verstehen. Du deklarierst also eine Variable,
> die folglich ins RAM kommt (wir sind hier ja bei den Mikrocontrollern)
> und die soll die Zeichenfolge Hallo test  enthalten. Wer bittesehr soll
> das in den RAM stopfen? Vielleicht sagst du jetzt "der Startup-Code soll
> mir das machen",

Wer das macht, ist egal. Das abstrahiert die Sprache/die API, damit man 
sich selbst nicht drum kümmern muss. Worum man sich allerdings kümmern 
muss ist, dass man nicht zu viel Speicher braucht.

> also schau in den Startupcode, ob der sich wirklich darum kümmert und
> schau in die von deiner Toolchain erzeugte Datei, ob da wirklich die
> Anweisungen dazu drinstehen.

Ich hab ja schon bemerkt, dass du zu glauben scheinst, jeder C-Compiler 
enthielte einen Zufallsgenerator, der dafür sorgt, dass irgendwas 
passiert, statt dem, was man in den Code geschrieben hat. Aber langsam 
nimmt diese Paranoia doch bedenkliche Züge an.

von EAF (Gast)


Lesenswert?

Rolf M. schrieb:
> Ich sehe von dir das hier:

Dann hasst du wohl folgendes übersehen:
1
cout << input << " space " <<  " was anderes" << endl;

von W.S. (Gast)


Lesenswert?

Rolf M. schrieb:
> Genau das ist in C ein String

Es ist kein String, sondern bloß etwas, das jemand derart genannt hat. 
Im Grunde sind das bloß aneinander gereihte Zeichen mit abschließendem 
Nullbyte - ohne jetzt auf den C typischen Mischmasch zwischen Zeichen 
und numerischen Dingen eingehen zu wollen. Und C++ hat das alles von C 
geerbt. Aber auf C++ bin ich nicht eingegangen und tu es auch jetzt 
nicht. Nur am Rande: in Pascal reicht es nicht aus, den Platz für ein 
Objekt zu reservieren, es muß auch mit seinem Konstruktor erstmal 
eingerichtet worden sein, bevor man mit ihm irgend etwas anstellen kann, 
z.B. irgend etwas ihm zuzuweisen.

Für Strings würde es auch Funktionalität zum Behandeln und Verknüpfen 
geben, abe keine Methoden eines Objektes sondern so etwa wie:
jetzt:= '18'+':'+'24'+' Uhr';
oder
if name = 'Meier' then ...
Aber bei C gibt es sowas eben nicht, sondern lediglich Funktionen str... 
zum Behandeln, die in C geschrieben sind bzw. sein können. Eben deshalb, 
weil es in C keinen Datentyp String gibt.

Das, was gerade Anfänger immer wieder vor den Kopf stößt und sie damit 
verwirrt, ist der Umstand, daß vieles in C sehr salopp benannt wird und 
die betreffende Bezeichnung inhaltlich nicht sauber definiert ist. 
Allenfalls so etwa: "das ist hier eben SO!"



Stefan F. schrieb:
> W.S. schrieb:
>> Hier gab's ja auch Leute, die nicht in Pascal, sonden in Delphi
>> programmierten.
>
> Das sind immerhin zwei weit auseinander liegende Versionen mit
> unterschiedlichen Features.

OMG - noch so einer. Du scheinst mittlerweile öfter als üblich sämtliche 
Dinge zu verwechseln. Sprache und Entwicklungsumgebung wie man hier 
sieht. Damit du dir das mal merken kannst: Pascal = Sprache, Delphi = 
Entwicklungsumgebung. Das sind zwei ganz verschiedene Dinge, obwohl sie 
miteinander zu tun haben.

Mal ganz grundsätzlich: Man kann durchaus mit so lala geeigneten Worten 
die Kommunikation untereinander flüssiger machen, vorausgesetzt, alle 
wissen Bescheid und wollen unter der Bezeichnung das Gleiche verstehen. 
Für den Disput mit einem Neuankömmling ist das hingegen unangebracht, da 
ist sprachliche und sachliche Präzision eher nötig. Sonst 
verselbständigt sich das Besprochene und es entstehen falsche 
Schlußfolgerungen daraus. Und daraus dann Hilferufe wie dieser Thread 
hier.

W.S.

von Stefan F. (stefanus)


Lesenswert?

W.S. schrieb:
> Aber auf C++ bin ich nicht eingegangen

Das ist halt määh, weil Eva lange vor deinem Beitrag klar gestellt hat, 
dass sie Arduino C++ verwendet. Korrekte Sprache hilft nicht, wenn man 
damit vollkommen am Thema vorbei antwortet. Deine C Kenntnisse sind hier 
vollkommen irrelevant.

: Bearbeitet durch User
von W.S. (Gast)


Lesenswert?

Stefan F. schrieb:
> Das ist halt määh, weil Eva lange vor deinem Beitrag klar gestellt hat,
> dass sie Arduino C++ verwendet.

Das ist egal, weil das, was sie da schrieb, ganz offensichtlich in C 
genauso wie in C++ auf falschen Vorstellungen beruht. Schließlich ist 
das Verhältnis zwischen C und C++ wie oben scherzeshalber geschrieben so 
wie zwischen Goblin und Ork.

Du hast dummes Zeug erzählt und willst dich jetzt irgendwie 
herauswinden. Ist geschenkt, ich bin dir deswegen nicht nachtragend. 
Allerdings sollte jeder (ja JEDER!), der mit C++ auf dem PC 
herumprogrammiert, sorgfältig nachsehen, was es da für Haken geben kann, 
wenn man das so einfach auf einen Mikrocontroller überträgt. Hier hat 
man kein OS, was einem die ganze Vorarbeit erledigt und keinen 
ubiquitären RAM. Bei Zeugs, was man als const hinschreibt wie z.B.
const char meldung[] = "ottokar ist hier";
kann man davon ausgehen, daß sowas im Flash landet, während man bei 
Variablen, die im RAM vereinbart sind, sich immer fragen sollte, ob und 
von wem die gewünschte Vorbelegung erledigt werden soll oder ob man bei 
einem Objekt nach dem Reservieren des Platzes auch noch dessen 
Konstruktor aufrufen sollte und so. Es gibt also ein paar Unterschiede 
bei der Programmierung zwischen PC und µC. Und ein Compiler macht 
(meistens) das, was man ihm hingeschrieben hat und nicht das, was man 
damit gemeint hat. Ausnahme GCC bisweilen.

W.S.

von EAF (Gast)


Lesenswert?

W.S. schrieb:
> const char meldung[] = "ottokar ist hier";
> kann man davon ausgehen, daß sowas im Flash landet,
Du irrst.

von Rolf M. (rmagnus)


Lesenswert?

W.S. schrieb:
> Rolf M. schrieb:
>> Genau das ist in C ein String
>
> Es ist kein String, sondern bloß etwas, das jemand derart genannt hat.

Natürlich ist es ein String. Ganz allgemein gesprochen ist ein String 
einfach eine Zeichenkette. Dass C dafür keinen eigenen Datentyp hat, 
sondern ein Array aus Zeichen nutzt, ändert daran nichts.

> Aber auf C++ bin ich nicht eingegangen und tu es auch jetzt nicht.

Das ist es aber, worum es hier geht. Es ist wenig sinnvoll, auf eine 
Frage zu einer Programmiersprache als Antwort zu erklären, warum das in 
einer anderen Programmiersprache nicht geht. Und der Unterschied ist an 
der Stelle durchaus signifikant.

> Nur am Rande: in Pascal reicht es nicht aus, den Platz für ein
> Objekt zu reservieren, es muß auch mit seinem Konstruktor erstmal
> eingerichtet worden sein, bevor man mit ihm irgend etwas anstellen kann,
> z.B. irgend etwas ihm zuzuweisen.

In C++ werden Konstruktoren automatisch beim Erzeugen des Objekts 
aufgerufen.

> Für Strings würde es auch Funktionalität zum Behandeln und Verknüpfen
> geben, abe keine Methoden eines Objektes sondern so etwa wie:
> jetzt:= '18'+':'+'24'+' Uhr';

Genau die gibt es für die Klasse, die im ursprünglichen Posting 
verwendet und benannt wurde.
https://docs.arduino.cc/built-in-examples/strings/StringAdditionOperator
In C gibt es die natürlich nicht, aber da das hier nicht zum Einsatz 
kommt, ist das vollkommen irrelevant.

von Stefan F. (stefanus)


Lesenswert?

W.S. schrieb:
> Du hast dummes Zeug erzählt und willst dich jetzt
> irgendwie herauswinden.

Ich glaube du verwechselst mich mit jemand anderen. Ich war derjenige, 
der auf den RAM Bedarf hinwies. Ich war derjenige, der die Relevanz 
dessen verteidigte. Ich rede mich aus gar nichts heraus. Worauf beziehst 
du dich?

Jetzt erzählst du mir, dass Mikrocontroller weniger RAM haben und ihn 
anders verwalten, als PC. Ach was! Genau das war doch der Grund meines 
Beitrages.

: Bearbeitet durch User
von EAF (Gast)


Lesenswert?

Stefan F. schrieb:
> Ich war derjenige, der die Relevanz
> dessen verteidigte.
Bla bla...

Stefan F. schrieb:
> und genau das war doch der Grund meines Beitrages.
Nein der Grund der meisten deiner Beiträge ist die Selbstprästation.
Narzisstisches Verhalten.
Hier wolltest du wieder einen Thread kapern und mit deinen Ansichten 
fluten.
Ist dir fast gelungen.

von Stefan F. (stefanus)


Lesenswert?

Das hier ist ein Diskussionsforum für elektronische Fachthemen, nicht 
für Psychologie, Herr möchtegern Doktor EAF.

von Zeno (Gast)


Lesenswert?

Stefan F. schrieb:
> Das sind immerhin zwei weit auseinander liegende Versionen mit
> unterschiedlichen Features.
Ach Stefan Du beweist gerade mal wieder das Du so gar keine Anhnung 
hast, zuminsdest nicht von Pascal und Delphi.
Es wurde hier schon x-mal im Forum erläutert, das Delphi keine 
Programmiersprache und auch kein Pascaldialekt ist.

Delphi ist schlichtweg die Programmierumgebung, also die IDE. Die 
Programmiersprache die klassisch in Zusammenhang mit Delphi benutzt 
wird, ist halt Pascal oder besser Objektpascal, eine Erweiterung des 
klassischen Pascals von Wirth. Es ist auch nicht erforderlich, die 
Objectpascalprogramme mit Hilfe der Delphi-IDE zu kompilieren. Das 
funktioniert genauso gut scriptgesteuert und/oder unter Einbeziehung von 
make. Auch hinter der Delphi-IDE steckt am Ende nur die DCCxx.EXE der 
eigentliche Kompiler.

Allerdings ist die Delphi IDE auch nicht nur auf (Object)Pascal 
beschränkt. Spätestens nach Delphi 7 ist das anders. Das nachfolgendende 
Delphi2005 konnte neben Pascal (mit und ohne .NET) auch C#. In der 
Folgeversion wurde aus Delphi dann das BORLAND Developer Studio. In der 
Version 2006 war dann auch noch die vollständige C++ Umgebung von 
Borland enthalten. Später dann bei XE kam dann auch noch PHP dazu.
Es gibt auch immer noch Delphi zu kaufen, darunter wird aber immer noch 
die IDE verstanden und nicht die Programmiersprache.

Mit Delphi & Pascal ist es eben genauso wie mit Arduino & C++. Letzteres 
ist genau genommen ein Konglomerat aus HW & SW. Auf der SW-Seite bedient 
man sich halt der Programmiersprache C++ und zum Erstellen der Programme 
benutzt man halt die Arduino-IDE, aber man schreibt am Ende C++ 
Programme, auch wenn das auf den ersten Blick nicht ersichtlich ist.

von Stefan F. (stefanus)


Lesenswert?

>> Das (Pascal und Delphi) sind immerhin zwei weit auseinander
>> liegende Versionen mit unterschiedlichen Features.

Zeno schrieb:
> Ach Stefan Du beweist gerade mal wieder das Du so gar keine Anhnung
> hast, zuminsdest nicht von Pascal und Delphi.

Zwischen Pascal und Delphi liegen noch Turbo Pascal und Object Pascal.

Weißt du, was wir gemeinsam haben? Eine katastrophale Rechtschreibung. 
Wir sind uns ähnlicher, als du denkst.

Ich habe in Borlands Turbo Pascal 6 und 7 meine beiden ersten größeren 
Auftragsarbeiten programmiert. Eine Datenbank samt GUI für ein 
medizinisches Institut, sowie eine Partnervermittlung, die danach so gut 
lief, dass der Kunde sein bisheriges Hauptgeschäft (Immobilienmakler) 
aufgab. Danach bin ich auf C++ umgestiegen, habe die Entwicklung von 
Delphi aber noch am Rande mit bekommen, weil Kollegen damit arbeiteten.

Du solltest nicht so voreilig über Leute urteilen, die du gar nicht 
kennst.

Falls noch jemand nach treten möchte, bitte beeilen. Denn wenn das so 
weiter geht wird der Thread bald gesperrt.

: Bearbeitet durch User
von Zeno (Gast)


Lesenswert?

Stefan F. schrieb:
> Zwischen Pascal und Delphi liegen noch Turbo Pascal und Object Pascal.

Wie kann man man nur so viel gequirlte Scheiße erzählen. Wenn Du Dich 
nicht wirklich auskennst, dann solltest Du einfach mal Griffel still 
halten. Ja es wissen alle hier das Du das nicht kannst und überall 
Deinen Senf dazugeben mußt.

Turbo Pascal ist eben auch kein Pascaldialekt sondern ebenfalls eine 
Entwicklungsumgebung/Compiler, zu neudeutsch IDE. Turbopascal ist 
praktisch das DOS-Äquivalent zu Delphi. Beide Entwicklungsumgebungen 
können sowohl Pascal als auch Object Pascal kompilieren. Turbo Pascal 
kann dies seit Version 5.5 , da wurde nämlich die Objektorientierung bei 
Turbo Pascal eingeführt, ab Version 6 gab's dann Turbo Vision eine 
objektorientiert GUI-Bibliothek für DOS.


Nach Turbo Pascal kam dann Borland Pascal und danach Delphi. Das mit 
jeder neuen Compilerversion auch neue Features in Pascal/Object Pascal 
Einzug gehalten haben ist eine andere Sache.

Stefan F. schrieb:
> Du solltest nicht so voreilig über Leute urteilen, die du gar nicht
> kennst.
Ich urteile nicht voreilig. Du hast etwas sachlich völlig falsch 
dargestellt und ich habe es korrigiert. Und was machst Du?  An statt 
noch einmal über das nachzudenken was Du da schreibst, legst Du noch 
einmal nach und vermengst wieder Programmiersprache und 
Entwicklungsumgebung. Das sind 2 völlig unterschiedliche Dinge, auch 
dann noch wenn sie sich gegenseitig in gewissem Maße beeinflussen. Ich 
schreibe ja auch nicht, ich programmiere eine Anwendung in Visual 
Studio. Ich programmiere sie mit Visual Studio und benutze zum 
Programmieren z.B. C#.

Stefan F. schrieb:
> Falls noch jemand nach treten möchte, bitte beeilen. Denn wenn das so
> weiter geht wird der Thread bald gesperrt.
Das ist auch nicht getreten, ich habe lediglich gesagt das Deine Aussage 
bezüglich Pascal vs. Delphi falsch ist. Du hattest da auf einen Post von 
W.S. geantwortet und so wie Du geantwortet hast liest sich das für mich, 
das es da bei Dir keinen Unterschied zwischen Pascal und Delphi gibt.

von Stefan F. (stefanus)


Lesenswert?

W.S. schrieb:
>> Hier gab's ja auch Leute, die nicht in Pascal, sonden in Delphi
>> programmierten.

Stefan F. schrieb:
> Das sind immerhin zwei weit auseinander liegende Versionen mit
> unterschiedlichen Features.

Zeno schrieb:
> so wie Du geantwortet hast liest sich das für mich,
> das es da bei Dir keinen Unterschied zwischen Pascal und Delphi gibt.

Kann es sein, dass du kein Deutsch verstehst?

"zwei weit auseinander liegende Versionen mit unterschiedlichen 
Features" bedeutet keinesfalls, dass es da bei mir "keinen Unterschied 
zwischen Pascal und Delphi gibt".

Zeno schrieb:
> Wie kann man man nur so viel gequirlte Scheiße erzählen.

Ja, wie kannst du nur?

: Bearbeitet durch User
von Zeno (Gast)


Lesenswert?

Stefan F. schrieb:
> Kann es sein, dass du kein Deutsch verstehst?
Kann es sein das Du Dich nicht richtig in Deutsch ausdrücken kannst und 
man Dich deshalb nicht richtig versteht?

von Stefan F. (stefanus)


Lesenswert?

Zeno, du hast Recht.

von Joachim B. (jar)


Lesenswert?

Zeno schrieb:
> Wie kann man man nur so viel gequirlte Scheiße erzählen.

Zeno schrieb:
> solltest Du einfach mal Griffel still
> halten. Ja es wissen alle hier das Du das nicht kannst und überall
> Deinen Senf dazugeben mußt.

Stefan F. schrieb:
> Zeno, du hast Recht.

endlich (ich glaube aber nicht wirklich an Einsicht)

von Stefan F. (stefanus)


Lesenswert?

Joachim, du hast auch Recht.

von fred (Gast)


Lesenswert?

was für ein cooler thread ... LOL ... schade ums forum :(

von Zeno (Gast)


Lesenswert?

fred schrieb:
> was für ein cooler thread ... LOL ... schade ums forum :(
Das ist hier schon immer so. Da muß man auch mal einstecken können - 
mußte ich auch schon.

@Joachim:
Mir geht es doch gar nicht um die Einsicht. Da wurde ein Sachverhalt 
nach meinem Verständnis nicht richtig dargestellt und ich wollte es 
lediglich gerade rücken - mehr nicht. Habe halt nicht berücksichtigt, 
daß das einer Majetätsbeleidigung gleich kommt - mein Fehler, damit 
werde ich jetzt wohl leben müssen.

von EAF (Gast)


Lesenswert?

Zeno schrieb:
> Da wurde ein Sachverhalt
> nach meinem Verständnis nicht richtig dargestellt und ich wollte es
> lediglich gerade rücken - mehr nicht.

Schwerlich möglich!
Die IchPerson benötigt Aufmerksamkeit.
Davon ernährt sie sich.
Diese erhält sie über das kapern von Threads, auslösen von Streit usw.
Die größte Freude scheint zu sein, wenn diese Threads daraufhin 
geschlossen werden. Darum wohl auch die Ankündigung.
Das vermittelt wohl sowas wie AllMachtGefühle.

Irgendwas gerade rücken zu wollen, ist der ideale Nährboden für 
Eskalationen mit der IchPerson.

Mein Rat:
Lass die IchPerson kommen... wenn sie nicht genug 
Aufmerksamkeit(Sparflamme) bekommt, vergisst sie Realität und Wahrheit. 
Dann kann man sie packen und der Lüge überführen.
So erreicht man keine Heilung, hat aber den Rest des Threads seine Ruhe.

Alles in allem, sind es Minderwertigkeitsgefühle und der Schrei nach 
Liebe, welcher die IchPerson zu solchem Tun verleitet. Irgendwas mit 
"früher Kindheit"

Übrigens:
Für IchPerson ist auch eine Tracht Prügel, sowas wie eine Zuwendung.

IchPerson ist zudem, kaum bis gar nicht, in der Lage/willens die 
Situation von einee Ausßenperspektive zu betrachten. Denn es gibt kein 
relevantes Außen für die IchPerson. Nur das Ich und die Aufmerksamkeit 
die dem Ich gegeben wird.

von Peter K. (os2fan2)


Lesenswert?

Schön wäre wenn es hier eine Baumstruktur gäbe, dann  würden die 
Nebendiskussionen es einem Zweig geführt und das Thema selber nicht 
stören.
Irgendwie war damals jedes Forum sinnvollerweise so aufgebaut
, wiesi jetzt nicht mehr?

von Sebastian (Gast)


Lesenswert?

Nur der TO sollte Beiträge bewerten können. Und schlecht bewertete 
Beiträge sollten ausgeblendet werden und erst auf Anforderung 
erscheinen. My 2ct.

LG, Sebastian

von Rolf M. (rmagnus)


Lesenswert?

Sebastian schrieb:
> Nur der TO sollte Beiträge bewerten können. Und schlecht bewertete
> Beiträge sollten ausgeblendet werden und erst auf Anforderung
> erscheinen. My 2ct.

Was passiert, wenn die Beiträge des TO selbst schlecht sind?

von Steve van de Grens (roehrmond)


Lesenswert?

Peter K. schrieb:
> Irgendwie war damals jedes Forum sinnvollerweise so aufgebaut

Weil solche Diskussions-Systeme damals überwiegend von 
Computerspezialisten verwendet wurden (glaube ich). Durch die 
Vereinfachung werden sie für andere User attraktiver.

Schau dir Apple Software an (oder Whatsapp), die haben mit der Methode 
Erfolg.

: Bearbeitet durch User

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]
  • [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.

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