Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.20;
Скачать: 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 вся ветка

Текущий архив: 2005.11.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.058 c
3-1128938992
atruhin
2005-10-10 14:09
2005.11.20
Эффективность индекса


14-1130448024
LordOfRock
2005-10-28 01:20
2005.11.20
Альтернативные оболочки


14-1130342484
Копир
2005-10-26 20:01
2005.11.20
Мышка-mouse рознь :-)


4-1127063760
ArtemESC
2005-09-18 21:16
2005.11.20
Как изменить свойство BorderStyle


4-1127196661
EgorovAlex
2005-09-20 10:11
2005.11.20
Осваиваю ADSI и не получается из группы её членов получить.