HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

wsprintf delphi
  #1  
Старый 19.03.2009, 08:38
s0l_ir0n
Участник форума
Регистрация: 14.03.2009
Сообщений: 237
С нами: 9031410

Репутация: 314
По умолчанию wsprintf delphi

Возникла проблема. Имеется строка 18 символов, нужно сделать вывод этой строки в формате xxx-xxx-xxx-xxx-xxx-xxx, немогу понять как это сделать, подскажите.
Я использую
const
FormatStr = '%d-%d-%d-%d-%d-%d';
wvsprintf(PChar(finishkey), FormatStr,PChar(@finishkey));
Но выходит совсем не то, что нужно.
 
Ответить с цитированием

  #2  
Старый 19.03.2009, 10:47
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами: 10097606

Репутация: 3349


По умолчанию

Код:
const
 FormatStr = '%d-%d-%d-%d-%d-%d';
var
 buf:array[0..255] of char;
 param:array[0..5] of integer;
begin
 param[0]:=10;
 param[1]:=2;
 param[2]:=3;
 param[3]:=4;
 param[4]:=5;
 param[5]:=6;
 wvsprintf(buf, FormatStr,@param);
 showmessage(buf)
end;
Чтобы можно было передавать разного типа данные, то придется в массив вбивать адреса их типа
Код:
const
 FormatStr = '%d-%d-%s-%d-%d-%d';
var
 buf:array[0..255] of char;
 param:array[0..5] of dword;
 s:string;
begin
 s:='hello'#0;
 param[0]:=10;
 param[1]:=2;
 param[2]:=dword(@s[1]);
 param[3]:=4;
 param[4]:=5;
 param[5]:=6;
 wvsprintf(buf, FormatStr,@param);
 showmessage(buf)
end;

Последний раз редактировалось slesh; 19.03.2009 в 10:54..
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Стоит ли писать это в Delphi? Ch@RM0nt Болталка 20 01.12.2008 20:43



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.