Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Мастера DELPHI. Новости мира компонент, FAQ, статьи...


Информационный Канал Subscribe.Ru

Ежедневная рассылка сайта Мастера DELPHI

DELPHIMASTER.ru

Выпуск от 21.11.03 09:04

Новые компоненты   |x|
  • SkinEngine (Freeware version) v.1.0.0 (912kb) (20.11.03 17:16)
    SkinEngine это VCL библиотека, которая позволяет динамически изменять практически любые атрибуты внешнего вида форм или элементов управления вашего приложения. Позволяет обеспечивать поддержку "шкур" (skins) для вашего приложения. Можно даже настраивать внешний вид вашего приложения как у приложений, работающих под управлением любых других операционных систем, или создавать ваши собственные "шкуры".
    Источник: www.torry.net   Автор: KS Development http://www.ksdev.com
    -= · VCL · Samples · =- [Перевел: Владимир Андреев]

  • RichViewActions v.1.23 (1201kb) (20.11.03 15:54)
    RichViewActions это бесплатное дополнение к пакету TRichView, позволяющий создавать настраиваемый, привлекательный и компактный пользовательский интерфейс для программ редактирования текстов без кода. Возможные операции:
    файловые операции;
    печать;
    редактирование (буфер обмена, поиск и замена и пр.);
    форматирование (атрибуты шрифта и абзаца);
    вставка файлов, символов, изображений;
    маркеры абзацев и нумерация;
    таблицы;
    гиперссылки.
    Включает множество мастеров. Все диалоги могут использовать стили Windows XP. Кроме того, действия могут выполняться "скрыто", позволяет описывать ваш собственный интерфейс пользователя. Новое: многоязыковый интерфейс.
    Источник: www.torry.net   Автор: Sergey Tkachenko http://www.trichview.com
    -= · VCL · Samples · =- [Перевел: Владимир Андреев]

  • Для уменьшения объема писем здесь публикуется не весь список новых компонент, потому заглядывайте и на сайт!
Кое-что из нашей кладовки   |x|
  • Конвектор форматов V 1.4 Dmitriy O. otkdmitriy@mail.ru   (20.11.03 15:52)
    Данная прога конвертирует текст в формат BMP. Поддерживается формат RTF. Основное предназначение данной проги в сверх большом и шифрованном выведении текста на бумажный носитель (вост с помощью сканирования) есть фукция конвертации текста в BMP в градациях серого для ч/б лазерных принтеров. Доп ф-ции это конвертация BMP и JPG рисунков в текст. Сокращение цветов для многоцветных BMP и JPG для возможости преобразования их в текст (доп не более 500 цветов)и создания из фоток подобия худ. зарисовок.
    »»» Скачать: исходные тексты (77кб) демонстрационный EXE файл (622кб) посмотреть скриншот
  • xTelnet Alekc alekc@msx.ru   (20.11.03 20:30)
    Маленький Telnet сервер (и клиент) с не очень маленькими возможностями... Написан на KOL + WinAPI.

    Делалось для собственных нужд, но возможно пригодится и кому-то еще. Исходные тексты прилагаются - где-то с комментариями, а где-то без...

    Замечания и комментарии приветствуются ;)
    »»» Скачать: исходные тексты (18кб) демонстрационный EXE файл (77кб) посмотреть скриншот
Лучшее из нашего FAQ   |x|
Как записать сумму прописью? 123 -> сто двадцать три рубля
Не самый лучший вариант, но работает :)


{ Преобразует трехзначное число в строку }
function ConvertToWord(N : word) : string;
Const
Sot : array[1..9] of string[13] =
('сто','двести','триста','четыреста','пятьсот',
'шестьсот','семьсот','восемьсот','девятьсот');
Des : array[2..9] of string[13] =
('двадцать','тридцать','сорок','пятьдесят',
'шестьдесят','семьдесят','восемьдесят','девяносто');
Edin : array[0..19] of string[13] =
('','один','два','три','четыре','пять','шесть','семь',
'восемь','девять','десять','одиннадцать','двенадцать',
'тринадцать','четырнадцать','пятнадцать',
'шестнадцать','семнадцать','восемнадцать','девятнадцать');
Var S : string;
begin
S:=''; N:=N mod 1000;
if N>99 then begin
S:=Sot[N div 100]+' '; N:=N mod 100;
end;
if N>19 then begin
S:=S+Des[N div 10]+' '; N:=N mod 10;
end;
Result:=S+Edin[N];
end;

{ Возвращает сумму прописью }
function CenaToStr(r : Currency) : string;
Var
N,k : longint;
S : string;
begin
N:=trunc(R); S:='';
if N<>0 then begin
if N>999999 then begin
k:=N div 1000000;
S:=ConvertToWord(k);
if ((k-(k div 100)*100)>10) and ((k-(k div 100)*100)<20) then S:=S+' миллионов' else
if (k mod 10)=1 then S:=S+' миллион' else
if ((k mod 10)>=2)and((k mod 10)<=4) then S:=S+' миллиона' else
S:=S+' миллионов';
N:=N mod 1000000;
end;
if N>999 then begin
k:=N div 1000;
S:=S+' '+ConvertToWord(k);
if ((k-(k div 100)*100)>10)and((k-(k div 100)*100)<20) then S:=S+' тысяч' else
if (k mod 10)=1 then begin SetLength(S, Length(S)-2); S:=S+'на тысяча'; end else
if (k mod 10)=2 then begin SetLength(S, length(S)-1); S:=S+'е тысячи'; end else
if ((k mod 10)>=3)and((k mod 10)<=4) then S:=S+' тысячи' else
S:=S+' тысяч';
N:=N mod 1000;
end; k:=N;
S:=S+' '+ConvertToWord(k);
if ((k-(k div 100)*100)>10)and((k-(k div 100)*100)<20) then S:=S+' рублей' else
if (k mod 10)=1 then S:=S+' рубль' else
if (k mod 10)=2 then S:=S+' рубля' else
if ((k mod 10)>=3)and((k mod 10)<=4) then S:=S+' рубля' else
S:=S+' рублей';
end;
if trunc(R)<>R then begin
k:=round(frac(R)*100);
S:=S+' '+IntToStr(K);
if ((k-(k div 100)*100)>10)and((k-(k div 100)*100)<20) then S:=S+' копеек' else
if (k mod 10)=1 then begin S:=S+' копейка'; end else
if (k mod 10)=2 then begin S:=S+' копейки'; end else
if ((k mod 10)>=3)and((k mod 10)<=4) then S:=S+' копейки' else
S:=S+' копеек';
end else S:=S+' 00 копеек';
S:=Trim(S);
if S<>'' then S[1]:=AnsiUpperCase(S[1])[1];
result:=S;
end;


Еще вариант от Дмитрия (дан в конференции)

unit sumstr;

interface
uses
SysUtils, StrUtils;

function SumToString(Value : String) : string;

implementation
const a:array[0..8,0..9] of string=(
('','один ','два ','три ','четыре ','пять ','шесть ','семь ','восемь ','девять '),
('','','двадцать ','тридцать ','сорок ','пятьдесят ','шестьдесят ','семьдесят ','восемьдесят ','девяносто '),
('','сто ','двести ','триста ','четыреста ','пятьсот ','шестьсот ','семьсот ','восемьсот ','девятьсот '),
('тысяч ','тысяча ','две тысячи ','три тысячи ','четыре тысячи ','пять тысячь ','шесть тысячь ','семь тысячь ',
'восемь тысячь ','девять тысячь '),
('','','двадцать ','тридцать ','сорок ','пятьдесят ','шестьдесят ','семьдесят ','восемьдесят ','девяносто '),
('','сто ','двести ','триста ','четыреста ','пятьсот ','шестьсот ','семьсот ','восемьсот ','девятьсот '),
('миллионов ','один миллион ','два миллиона ','три миллиона ','четыре миллиона ','пять миллионов ',
'шесть миллионов ','семь миллионов ','восемь миллионов ','девять миллионов '),
('','','двадцать ','тридцать ','сорок ','пятьдесят ','шестьдесят ','семьдесят ','восемьдесят ','девяносто '),
('','сто ','двести ','триста ','четыреста ','пятьсот ','шестьсот ','семьсот ','восемьсот ','девятьсот '));
b:array[0..9] of string=
('десять ','одинадцать ','двенадцать ','тринадцать ','четырнадцать ','пятьнадцать ','шестьнадцать ',
'семьнадцать ','восемьнадцать ','девятьнадцать ');
function SumToStrin(Value : String) : string;
var s,t:string;
p,pp,i,k:integer;
begin
s:=value;
if s='0' then t:='Ноль ' else begin
p:=length(s);
pp:=p;
if p>1 then
if (s[p-1]='1') and (s[p]>'0') then begin
t:=b[strtoint(s[p])];pp:=pp-2;end;
i:=pp;
while i>0 do begin
if (i=p-3) and (p>4) then
if s[p-4]='1' then begin
t:=b[strtoint(s[p-3])]+'тысяч '+t;i:=i-2;end;
if (i=p-6) and (p>7) then
if s[p-7]='1' then begin
t:=b[strtoint(s[p-6])]+'миллионов '+t;
i:=i-2;end;
if i>0 then begin k:=strtoint(s[i]);
t:=a[p-i,k]+t;
i:=i-1;end;
end;end;
result:=t;
end;
procedure get2str(value:string;var hi,lo:string);
var p:integer;
begin
p:=pos(',',value);
lo:='';hi:='';
if p=0 then p:=pos('.',value);
if p<>0 then delete(value,p,1);
if p=0 then begin hi:=value;lo:='00';end;
if p>length(value) then begin hi:=value;lo:='00';end;
if p=1 then begin hi:='0';lo:=value;end;
if (p>1) and (pthen
begin
hi:=copy(value,1,p-1);
lo:=copy(value,p,length(value));
end;
end;

function sumtostring(value:string):string;
var hi,lo:string;
pr,er:integer;
begin
get2str(value,hi,lo);
if (hi='') or (lo='') then begin result:='';exit;end;
val(hi,pr,er);if er<>0 then begin result:='';exit;end;
hi:=sumtostrin(inttostr(pr))+'руб. ';
if lo<>'00' then begin
val(lo,pr,er);if er<>0 then begin result:='';exit;end;
lo:=inttostr(pr);
end;
lo:=lo+' коп. ';
hi[1]:=AnsiUpperCase(hi[1])[1];
result:=hi+lo;
end;
end.

»»» Прислать свои комментарии

Обсуждается в конференциях   |x|
  • Запуск приложения на клиенте
    Добрый день уважаемые Мастера! Повторно пытаюсь получить ответ на свой вопрос т.к. результат пока = 0. Не хочет ...
  • Заполнение формы загруженной в webbrowser
    Здравствуйте мастер! Подскажите как заполнить анкету написанную на HTML и загруженную в webbrowser! Если можно ...
  • HDC
    доброе время суток мастера!! Помогите понять пожалуйста ,DC, HDC, HAndle и как с ними 'бороться'. Вот, например функция ...
  • Остановка службы
    У меня есть служба без дополнительного потока: procedure SService1.ServiceStart(Sender: TService; var Started: Boolean)...
  • TDBTreeView
    Приветствую! Народ - есть у кого нормальный рабочий САБЖ под Delphi5 ??? Заранее благодарен.
  • Работа с файлами
    Делаю так: MyFile:=TFileStream.Create(paramstr(0),fmOpenRead); MyFile.Seek(MyFile.Size-40,0); TempFile:=TFileStream....
  • KOLPanel жутко тормозит при перетаскивании
    Делаю форму без заголовка, вместо него кинул KOLPanel и обрабатываю события от мыши для перетаскивания: procedure ...
У нас большой выбор статей   |x|
Delphi 7 ToolsAPI
С примерами и пояснениями рассмотрены таки вопросы интеграции с IDE:
создание pop-up меню своего компонента, создание редакторов свойств, написание простейшего эксперта, расположение эксперта внутри dll библиотеки
Новинки книжного рынка   |x|
Технологии передачи данных. 7-е изд.
В книге рассматриваются современные технологии передачи данных и перспективы их развития. Освещаются основные аспекты передачи информации, от структуры сетей до безопасности их использования. Представлены технологии, позволяющие существенно улучшить качество работы отдельных пользователей, а также корпораций и государственных учреждений. Издание содержит подробные сведения, необходимые для понимания функционирования различных систем передачи данных — от кабельных сетей до беспроводных спутниковых систем. Книга предназначена как профессионалам в области систем коммуникации, так и студентам технических специальностей.
Автор: Хелд Г.
Наши друзья   |x|
Сертификация специалистов
∙ Как устроиться на высокооплачиваемую работу?
  Как получить прибавку к зарплате?
  Как завоевать уважение коллег?
∙ Пройти сертификацию и продемонстрировать свой профессионализм. Подробнее…
Другие сайты о DELPHI   |x|
Delphi World
Delphi World - архив статей по Delphi --= 3000 работ =--

» Оценка сайта: 5
Опрос населения :)
Как часто вы заглядываете на наш сайт?
»»» Регулярно
»»» Раз в неделю
»»» Когда нужна помощь
»»» По почтовой рассылке
»»» Сделал стартовой страницей
Для души

Хокку дня
«марр-р-рт!» —
ее кошка трется о ножки
каждого встречного стула

Афоризмы
Всякая умственная слабость порождает скупость...(Аристотель)

Фраза дня
Позвольте Вас, мадам, немного пингануть...

Дурацкие законы (информация предоставлена сайтом kurilka.com)
В Миннесоте (США) вам грозит попасть в тюрьму за то, что вы спите голым.
В Аляске (США) запрещается (добавим -и не рекомендуется) будить медведей, чтобы их сфотографировать, а также, выбрасывать живых лосей из самолета.

И на закуску коротенький анекдот
О человеке можно судить по его Temporary Internet Files...

Фотоприколы.
Начните день с хорошего настроения!
http://www.delphimaster.ru/cgi-bin/prikol.pl?id=9783478


На этом позвольте откланяться и пожелать вам удачного дня.
Искренне ваш, Алексей (merlin@delphimaster.ru)

Добро пожаловать на сайт -= Мастера DELPHI =- 


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное