Главная страница
    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.042 c
2-1130797663
Старт
2005-11-01 01:27
2005.11.20
Какую кнопку можно настроить так, чтобы при наведении на неё мыши


1-1130396063
VID
2005-10-27 10:54
2005.11.20
Я не могу прочитать свойство ячейки Cell.Comment.Text в Excel


14-1130411016
TButton
2005-10-27 15:03
2005.11.20
влияет ли визуальный стиль вндовс ХР на загрузку процессора


8-1119944889
Sand_man
2005-06-28 11:48
2005.11.20
конвертирование eFax в формат TIFF


14-1130271699
Quasilamo
2005-10-26 00:21
2005.11.20
Программа для просмотра и манагамента дайджестов этого форума





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский