Форум: "Основная";
Текущий архив: 2002.07.18;
Скачать: [xml.tar.bz2];
ВнизДата в строку Найти похожие ветки
← →
star77 (2002-07-04 20:26) [0]Уважаемые Мастера!
Помогите пользователю с написанием
функции для преобразования номера месяца в
строку . В виде процедуры написать умудрился,
но на большее не хватает знаний. Добавьте
нужное и уберите лишнее. Заранее благодарен.
Вот текст:
procedure Tfm_main.FormCreate(Sender: TObject);
const
arr_mesyaz: array[1..12] of string[10]=(
"января","февраля",
"марта","апреля,"мая",
"июня","июля","августа",
"сентября","октября","ноября",
"декабря");
var dat:string[8];
day:string[2];
month:string[2];
year:string[2];
month_txt:string[10];// месяц прописью
x:integer;
begin
dat:=DateToStr(Date);
day:=copy(dat,1,2);
month:=copy(dat,4,2);
year:=copy(dat,7,2);
if (pos("0",month)=1) then delete (month,1,1);
x:=StrToInt(month);
month_txt:=arr_mesyaz[x];
StatusBar1.SimpleText:=" Сегодня: "+day+" "+month_txt+" 20"+year+" года";
end;
← →
Viewer (2002-07-04 20:51) [1]function Doit(dt: TDateTime): string
var
arrM: array[1..12] of string (.....);
y, m, day: Word;
begin
DecodeDate(dt, y, m, day);
Result := Format("Сегодня %d %s %d года",[day, arrM[m], y]);
end;
← →
yozhik (2002-07-04 21:01) [2]по моему так лучше :)
procedure Tfm_main.FormCreate(Sender: TObject);
const
begin
StatusBar1.SimpleText:=" Сегодня: "+FormatDateTime("d (dddd) mmmm yyyy", Date)+" года";
end;
но если тебе надо с сохранением падежей тогда так:
procedure Tfm_main.FormCreate(Sender: TObject);
const
arr_mesyaz: array[1..12] of string[10]=(
"января","февраля",
"марта","апреля,"мая",
"июня","июля","августа",
"сентября","октября","ноября",
"декабря");
var day, month, year: word;
begin
DecodeDate(Date, year, month, day)
StatusBar1.SimpleText:=" Сегодня: "+IntToStr(day)+" "+arr_mesyaz[month]+" "+IntToStr
(year)+" года";
end;
← →
DeMoN-777 (2002-07-04 21:11) [3]В UBFD посмотри в соответвующем разделе.
← →
Viewer (2002-07-04 21:18) [4]Да.. Очень большие отличия ;))
Кроме того, как минимум, в два раза медленнее.
← →
kull (2002-07-05 01:24) [5]
> Кроме того, как минимум, в два раза медленнее.
Минздрав предупреждает:
Не занимайтесь преждевременной оптимизацией - вредно для здоровья проекта.
← →
Viewer (2002-07-05 10:47) [6]То-то мы наблюдаем, что для решения тех же задач, что решались раньше на XT, сейчас уже и пней 4-х не хватает ;))
← →
FOX (2002-07-05 15:19) [7]выводит дату с учетом падежа.
function FormatLanguageDate(aDate : TDateTime) : string;
var SysTime : Tsystemtime; Buffer: array[0..1023] of Char;
Year, Month, Day: Word;
begin
DecodeDate(aDate, Year, Month, Day);
SysTime.wYear := Year;
SysTime.wMonth := Month;
SysTime.wDay := Day;
SetString(Result, Buffer, GetDateFormat(LOCALE_SYSTEM_DEFAULT,
DATE_LONGDATE, @SysTime, nil, Buffer, SizeOf(Buffer))-1);
end;
← →
Виктор Щербаков (2002-07-05 16:07) [8]Viewer (05.07.02 10:47)
Зато сколько рюшечек в интерфейс понавешали, особенно в XP :)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.07.18;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c