Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
3-57982
Igor_
2002-06-26 14:09
2002.07.18
FreeReport выводе отчета изменить выводимое значение


1-58073
x2y
2002-07-08 09:28
2002.07.18
Мастера, помогите плз,


1-58163
Still Swamp
2002-06-29 14:25
2002.07.18
Отрисовка на MDIParentForm


14-58297
Sergey13
2002-06-21 11:32
2002.07.18
Предложение по организации форума


1-58162
newUser
2002-07-05 11:49
2002.07.18
Позиция курсора?





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