Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.053 c
5-1109970079
BRom
2005-03-05 00:01
2005.11.20
Видимость внутреннего компоненте другими


2-1130862793
KorvinOE
2005-11-01 19:33
2005.11.20
Кодировка


1-1130499343
Шурик Ш
2005-10-28 15:35
2005.11.20
Вопрос про события TValueListEditor


5-1111654897
lvi
2005-03-24 12:01
2005.11.20
property FieldName как по умолчанию DataField


14-1130778374
-=XxX=-
2005-10-31 20:06
2005.11.20
PHP4Delphi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский