Форум: "Основная";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];
ВнизPchar To String Найти похожие ветки
← →
user101 (2005-01-15 12:36) [0]Необхотимо из PChar:=#10 Получить строку String:="#10"
Тоесть не значение PChar а два символа # и 10
Ткните пальцем как это сделать :(
← →
MBo © (2005-01-15 12:44) [1]пардон, а можно увидеть реальный код присвоения PChar?
← →
user101 (2005-01-15 12:54) [2]вот надо сделать так
if P1=#10#13 then BEGIN
t1:="всего "+CONVERT(P1);
//Вот нужно не конец строки получить а
t1:="всего #10#13"; тоесть просто строку с символами # 10 13
end;
← →
GanibalLector © (2005-01-15 12:55) [3]> а два символа # и 10
в [0] LOL.
← →
MBo © (2005-01-15 13:07) [4]Хорошо бы книжку почитать по Паскалю.
Там написано, что с помощью #10 обозначается ОДИН символ с кодом 10, да и много другого полезного.
А в теме хелпа Character strings есть полезные примеры.
← →
user101 (2005-01-15 13:11) [5]есть TempString: array[0..10] of Char ;
Смотрю в отладке массив
там такая фигня
TempString=[ #0,"a","b",#10,"q",#7,"d",#9,"s",#14]
в итоге мне нужна строка вся из массива
S:="#0ab#10q#7d#9S#14";
← →
user101 (2005-01-15 13:13) [6]что один символ с кодом 10 я прекрасно знаю
в том и суть что мне ну нужен этот символ
а все 3 нужны тобищь решетка единичка и ноль.
вот :(
← →
Poirot © (2005-01-15 13:14) [7]LOL однозначный...
Ответь лучше на вопрос - ЗАЧЕМ?!?!
Просто так?! толк?!..
Отладчик показывает символы чере # ибо у них нету нормального символьного представления.. а так сделать можно очень просто...
Только вот я смеялся минут 15)))
низя так дедушку пугать (с)
← →
user101 (2005-01-15 13:27) [8]ну предложите вариант лучше
ситуация такая
есть
Буфер TStream в нем инфа #0ab#10q#7d#9S#14 вот как раз такого типа
всю эту беду я запихиваю TempString: array[0..10] of Char
вот и потом уже выбираю то что мне нужно от туда
а нужна мне вся строка #0ab#10q#7d#9S#14 вот такая
← →
Poirot © (2005-01-15 13:32) [9]Товарисч, давай так. Т ыопределись что у тябя где.. насколько вижу если у тя в стриме то, что ты показал, то как ты в массив её пихаешь?! у тя массив бюольше чем надо...
а во-вторых тебе не судьба тогда просто пройти по всей строке и если например Ord(TempString[i]) < $20 то прибавлять к результирующей строке не сам символ, а просто "#" + IntToStr(Ord(TempString[i])) - вот что-то так, а подробнее, что тебе надо - давай описывать учись, а то не только мне одному это не фига не понятно, как я вижу. Или у примерц весь код кидай. посмотрим.
← →
Separator © (2005-01-15 13:42) [10]Если нужна строка "#0ab#10q#7d#9S#14" то учти, что она не поместиться в TempString: array[0..10] of Char, так как имеет длину в 17 символов, лучше пихай посимвольно: #0 + "ab" + #10 + "q" + #7 + "d" + #9 + "S + #14, тогда строка будет длиной в 10 символов
← →
user101 (2005-01-15 13:42) [11]ну ладно вот что пишу
Все конечно тупо :) но опыта пока у меня не много :)
procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
var
StringFormatedStream: TStringStream;
Result,s1: String ;
P1,P2:Char ;
TempString: array[0..1023] of Char ;
I:integer ;
begin
StringFormatedStream := TStringStream.Create("");
StringFormatedStream.CopyFrom(AData, AData.Size);
for i:=0 to Adata.Size-1 do
begin
TempString[i]:= StringFormatedStream.DataString[i] ;
end;
result:="";
for i:=0 to Adata.Size-1 do
begin
P1 := (TempString[i]);
result:=result+ P1;
end;
memo1.Lines.Add(result);
StringFormatedStream.Free;
End;
в результате получаю в мемо кучу всяких не печатаемых символов
а хотелось бы получить символьное отображение.
не палочки всякие а что то типа #0#34fdsgdf#30 вот
← →
Separator © (2005-01-15 13:52) [12]var
StringFormatedStream: TStringStream;
Result, s1: String ;
P1, P2:Char ;
I: integer ;
begin
StringFormatedStream:= TStringStream.Create("");
StringFormatedStream.CopyFrom(AData, AData.Size);
result:= "";
for i:= 0 to StringFormatedStream.Size - 1 do begin
if Ord(StringFormatedStream.DataString[i]) < $20
then Result:= Result + "#" + IntToStr(Ord(StringFormatedStream.DataString[i]))
else Result:= Result + StringFormatedStream.DataString[i];
memo1.Lines.Add(result);
StringFormatedStream.Free;
End;
← →
Separator © (2005-01-15 13:54) [13]Мда, убери еще всякие ненужные s1, p1 и p2
← →
user101 (2005-01-15 14:04) [14]Спасибо большое!
Теперь буду знать :)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.033 c