Wiadomości SMS - wysłana zostaje zawsze ostatnia linia z Memo

Odpowiedz Nowy wątek
2014-12-16 12:49
0

Witam,
Mam problem z wysłaniem wiadomości tekstowej w całości tzn.
kiedy wypełnie pole Memo i po wciśnięciu przycisku wyślij zostaje wysłana tylko ostatnia linia z pola memo.

 
procedure SendSMS (target,messagestr:string);
 var
   smsManager: JSmsManager;
   smsTo: JString;
 begin
   smsManager:= TJSmsManager.JavaClass.getDefault;
   smsTo:= StringToJString(target);
   smsManager.sendTextMessage(smsTo, nil, StringToJString(messagestr), nil, nil);
 end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
  wiad : string;
begin
  wiad := memo1.Text;
  SendSMS('jakis_nr_telefonu', wiad);
end;

Co mam zrobić aby wysłał się cały tekst z pola Memo? Czy któryś z kolegów mógł by mi pomóc w rozwiazaniu tego problem?

Tytuł wątku powinien w sposób sensowny i w miarę wyczerpujący opisywać Twój problem; Pamiętaj, że wątki z nic nie mówiącymi tytułami z reguły lądują w koszu; - furious programming 2014-12-16 21:45

Pozostało 580 znaków

2014-12-16 18:10
0

może znaki CR LF zawarte w treści wiadomości stwarzają problem

Pozostało 580 znaków

2014-12-16 22:14
0

Ciekawe jest to, że każda linia jest wysylana oddzielnie natomiast jeżeli wstawie taki kod

 SendSMS('jakis_nr_telefonu', 'linia1'+#10+'linia2'+#10+'linia3');

to otrzymam poprawna wiadomosc w formacie:

linia1
linia2
linia3

po usunieciu #13 I dodaniu #10 nic sie nie zmienilo :(

edytowany 2x, ostatnio: grafo, 2014-12-17 00:14

Pozostało 580 znaków

2014-12-17 07:41

to spróbuj tak :

wiad:='';
for i:=0 to memo.lines.count-1 do
     wiad:=wiad+memo.lines[i]+#10;
if length(wiad)>0 then 
    wiad:=leftsr(wiad,length(wiad)-1);
edytowany 1x, ostatnio: grzegorz_so, 2014-12-18 17:43

Pozostało 580 znaków

2014-12-17 21:14
0

grzegorz_so dziękuje za pomoc. Problemem było wczytanie wszystkich lini do memo po stronie aplikacji w innej części kodu.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0