Nějake to c++ je určitě lepší, ale než by se v tom naučil

Kód: Vybrat vše
while(Serial.available())
{
if (Serial.read() == '1')
{
delay(20);
text1 = Serial.read();
text2 = Serial.read();
text3 = Serial.read();
Serial.write(text1);
Serial.print('\n');
Serial.write(text2);
Serial.print('\n');
Serial.write(text3);
Serial.print('\n');
}
}
Kód: Vybrat vše
public
var odeslatText : string;
var text1 : string;
var text2 : string;
var text3 : string;
var text4 : string;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
text1 := edit1.Text;
text2 := edit2.Text;
text3 := edit3.Text;
text4 := edit4.Text;
odeslatText := text1 + text2 + text3 + text4;
LazSerial1.WriteData (odeslatText);
end;
Kód: Vybrat vše
LazSerial1.WriteData ( Trim(Edit1.Text) + '|' + Trim(Edit2.Text)+ '|' + Trim(Edit3.Text));
Kód: Vybrat vše
String vstupni_text = "Leo|Pepa|Vasek";
String vystup;
vystup = vstupni_text.substring(0,vstupni_text.indexOf('|',0));
Serial.println(vystup);
Kód: Vybrat vše
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
sl: TStringList;
begin
sl := TStringList.Create;
s := 'Leo|karel|Pavel|Hanka|Monika';
sl.Delimiter := '|';
sl.DelimitedText := s;
ShowMessage(sl[1]);
sl.Free;
end;
Kód: Vybrat vše
String vstupni_text = "Alice";
String vystup;
vystup = vstupni_text.substring(vstupni_text.indexOf('A',0), 1);
Serial.println(vystup);
Serial.println("1");
delay(1000);
Kód: Vybrat vše
String vstupni_text = "Alice";
String vystup;
vystup = vstupni_text.substring(0, vstupni_text.indexOf('A',0));
Serial.println(vystup);
Serial.println("1");
delay(1000);
Kód: Vybrat vše
vystup = vstupni_text.substring(0,vstupni_text.indexOf('|',0));
Kód: Vybrat vše
LazSerial1.WriteData ( 'Nějaký text' ) ;
Kód: Vybrat vše
char inString[32];
int inCount;
inCount = 0;
while (Serial1.available() > 0)
{
inString[inCount] = Serial1.read();
delay(10);
if (inString[inCount] == '\0') break;
inCount++;
}
inString[inCount] = '\0';
// ------------------------
if (inCount > 0) {
Serial.println(inString);
}
Kód: Vybrat vše
char str[] ="Jabko|Hruska|Banan";
char* item;
item = strtok(str,"|");
while(item != NULL)
{
Serial.println(item);
item = strtok(NULL, "|");
}
Kód: Vybrat vše
<?php
$data = file_get_contents('php://input');
$array = explode("|", $data);
file_put_contents('./shm/text.txt', $data);
file_put_contents('./shm/teplota_venku', $array[0]);
file_put_contents('./shm/vlhkost_venku', $array[1]);
file_put_contents('./shm/signal_venku', $array[2]);
?>
Kód: Vybrat vše
String data[3];
char str[] ="Jabko|Hruska|Banan";
char* item;
void setup() {
Serial.begin(9600);
int x = 0;
item = strtok(str,"|");
while(item != NULL)
{
data[x] = item;
item = strtok(NULL, "|");
x++;
}
Serial.println(data[0]);
Serial.println(data[1]);
Serial.println(data[2]);
}
Možností, co s rozparsovanými daty, je mnoho. Vůbec není zřejmé, zda je nutné to do pole ukládat, může podle toho rovnou měnit stavy na IO. Řešil jsem jen to, že bych vstupní string načítal strtokem, než čaroval substringama.
Díky moc za další tipy, musím si to projít, co jste mi tu napsali a zpracovat to.Le-Ze píše: ↑16 úno 2020, 19:24Tak možná dělam někde kic, ale totoBy mělo zkopirovat řetězec do jineho řetězce od začatku po |Kód: Vybrat vše
vystup = vstupni_text.substring(0,vstupni_text.indexOf('|',0));
Neděláš kiks, já to špatně pochopil. Ty načítáš od začátku po znak, a já od znaku dále...![]()
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host