Вниз
Скачать: CL | DM;

Требуется ваш совет   Найти похожие ветки 

← →
zaN0za ©   (2005-10-25 01:19) [0]

Здравствуйте, уважаемые мастера. У меня такой вопрос:

пример:

function cd(lparam: PChar): PChar;
begin
 
 if lparam[lstrlen(lparam)-1] = "\" then
   // тут нужно из lparam убрать (пред)последний символ \
   // как реализовать (может функция есть)?

 Result := #13#10" " + lparam + " blabla"#13#10#13#10#13#10; // <- нужна подсказка как соединить такую вещь
 
end;


Просто никак понять не могу, может уже устал... Заранее благодарен всем обратившим внимание.


← →
GanibalLector ©   (2005-10-25 02:25) [1]

StrCopy, StrCat и т.д. И самое главное : string handling routines (null-terminated) + F1


← →
palva ©   (2005-10-25 11:28) [2]

if lparam[lstrlen(lparam)-1] = "\" then
  // тут нужно из lparam убрать (пред)последний символ \
  // как реализовать (может функция есть)?

Можно работать по-сишному:
lparam[lstrlen(lparam)-1] := Chr(0);

> нужна подсказка как соединить такую вещь

Вам надо определиться, где вы будете выполнять память под результат. Обычно в таких случаях вызывающая функция передает указатель на свою память, а вызываемая функция ее заполняет.

{$APPTYPE CONSOLE}
uses SysUtils;
function cd(lparam, re: PChar): PChar;
begin
strcopy(re, "***");
strcat(re, lparam);
strcat(re, "+++");
Result := re;
end;

var
 b: Array[1..100] of Char;
begin
 cd("34", @b[1]);
 Writeln(b);
end.

Но возможны варианты.


← →
zaN0za ©   (2005-10-25 15:36) [3]

2 palva:
> Можно работать по-сишному:
> lparam[lstrlen(lparam)-1] := Chr(0);

спасибо за помощь.

"\blabla" - а как убрать первый \  ?


← →
Гаврила ©   (2005-10-25 16:55) [4]


>  [3] zaN0za ©  


На главное внимание обратил?
> Вам надо определиться, где вы будете выполнять память под
> результат.


в смысле, выделять


← →
zaN0za ©   (2005-10-25 19:28) [5]

можно подробнее на [3]?


← →
palva ©   (2005-10-25 20:45) [6]

"\blabla" - а как убрать первый \  ?

Это смотря что вы хотите сделать с результатом. Если просто напечатать, то можно так:

{$APPTYPE CONSOLE}
uses SysUtils;
var
 s: PChar = "\blablabla";
begin
 Writeln(s); // "\blablabla"
 Writeln(s + 1); // "blablabla"
end.


← →
zaN0za ©   (2005-10-27 18:49) [7]

Спасибо всем за внимание. Разобрался.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.025 c
14-1130139299
Nikolay M.
2005-10-24 11:34
2005.11.20
Кто-нибудь ощущает магнитные бури?


14-1130466434
Карелин Артем
2005-10-28 06:27
2005.11.20
Самара. Кто-нибудь идет на конференцию MS сегодня в Ренессанс?


3-1128911358
DimonS
2005-10-10 06:29
2005.11.20
Вопрос по ADO+SQL


14-1130496133
Ling
2005-10-28 14:42
2005.11.20
НЕПОРЯДОК!!


1-1130325957
irishka001
2005-10-26 15:25
2005.11.20
Shellexecute + WinRar




   Наверх