Форум: "Начинающим";
Текущий архив: 2005.11.20;
Скачать: [xml.tar.bz2];
ВнизТребуется ваш совет Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.047 c