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

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


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

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

DELPHIMASTER.ru

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

Кое-что из нашей кладовки   |x|
  • TGameResults Егор teap_leap@mail.ru   (31.07.03 14:58)
    Новая версия. Компонент TGameResults - компонент для
    сохранения/загрузки в файл и отображения результатов игр. Сейчас доступно шифрование сохраняемых данных
    и использование рисунков в качестве фона.
    »»» Скачать: исходные тексты (8кб) демонстрационный EXE файл (184кб)
  • BebButton Pindos pindos@pochta.ru   (02.08.03 06:31)
    Этот компонент мне захотелось сделать для того чтобы каждый раз не мучится. Это есть кнопка, Предком является TBevel. У кнопки есть 3 картинки;
    1 - отображается всегда,
    2 - при наведении указателя мыши,
    3 - при нажатии на кнопку,
    все 3 картики загружаются в exe-шник, как у Image.
    Картинки на кнопке растягиваются по размеру(даже Icon).
    Также есть св-во Transperent.
    »»» Скачать: исходные тексты (9кб)
  • Magic PHP 2.0 alois alois1981@mail.ru   (02.08.03 07:37)
    Замечательный интерпретатор языка PHP. Подробности на www.alois.com.ru.
    »»» Скачать: исходные тексты (60кб) демонстрационный EXE файл (980кб)
  • OnThaWater.scr diaz diaz@en.net.ua   (02.08.03 07:10)
    OpenGL Screensaver.
    »»» Скачать: исходные тексты (495кб) демонстрационный EXE файл (282кб) посмотреть скриншот
Лучшее из нашего FAQ   |x|
Как найти далее при помощи pos? (аналог найти далее в блокноте windows-а)

function SearchString(const FindStr, SourceString: String;Num: Integer):Integer;
var
FirstP: PChar;
function MyPos(const FindStr, SourceString: PChar;Num: Integer): PChar;
begin
Result := AnsiStrPos(SourceString,FindStr);
if (Result=nil) then Exit;
Inc(Result);
if Num=1 then Exit;
if num>1 then Result := MyPos(FindStr,Result,num-1);
end;
begin  Result := 0;
FirstP := PChar(SourceString);
Result := MyPos(PChar(FindStr),PChar(SourceString),Num) - FirstP;
if Result<0 then Result := 0;
end;

function NextSubStr(Const SubStr,Str : String; PrevIdx : Integer):Integer;
begin
if (PrevIdx<=Length(Str)) and (PrevIdx>0)
then
 Result := pos(SubStr,PChar(@Str[PrevIdx]))+PrevIdx-1
else
 Result := 0;
end;
Var k : Integer;
begin
k :=NextSubStr('a','abcabcabc',1);
Label1.Caption:=IntToStr(k); // Выводим позицию первого вхождения строки 'a'
k :=NextSubStr('a','abcabcabc',k+1);
Label2.Caption:=IntToStr(k); // Выводим позицию следующего вхождения строки 'a'
end;

function fStrPos(const Line, Sample: string; FromPos, ToPos: integer): integer;
var
stLen, samLen: integer;
StopIndex: integer;
StopChar, ch: char;
SuffixStr, RevertSample: string;
SuffixLen: integer;
i, incr: integer;
begin
Result := 0;
//checks
SamLen := length(Sample);
if SamLen = 0 then exit;
if FromPos <= 0 then FromPos := 1;
stLen := length(Line);
if (ToPos < stLen) and (toPos >= FromPos) then
  stLen := toPos;
//Переворачиваем Sample - удобно для Pos
SetLength(RevertSample, SamLen);
for i := 1 to S! amLen do
  RevertSample[SamLen - i + 1] := Sample[i];
//Пока не дошли до конца участка минус длина образца...
while FromPos <= (stLen - samLen + 1) do
begin
  //сравниваем образец СПРАВА НАЛЕВО
  StopIndex := 0;
  for i := samLen downTo 1 do
    if Sample[i] <> Line[i + FromPos - 1] then
    begin
      //На чем запнулись
      StopIndex := i;
      StopChar := Line[i + FromPos - 1];
      SuffixStr := copy(Sample, i+1, samLen - i);
      SuffixLen := length(SuffixStr);
      Break;
    end;
   //Проверка совпадения
   if StopIndex = 0 then
   begin
     Result := FromPos;
     E! xit;
   end;
   //Переворачиваем суффикс
   for i := 1 to (SuffixLen div 2) do
   begin
     ch := suffixstr[SuffixLen - i + 1];
     suffixstr[SuffixLen - i + 1] := suffixStr[i];
     suffixstr[i] := ch;
   end;
   //Приращение по суффиксу - следующее вхождение
   incr := Pos(SuffixStr, copy(RevertSample,SuffixLen + 1,SamLen));
   //Приращение по стоп-символу:
   for i := StopIndex - 1 downTo 1 do
     if Sample[i] = StopChar then
     begin
       if incr < (SamLen - i) then
         incr := SamLen - i;
       break;
     end;
   if incr = 0 then incr := samLen;
   inc(FromPos, incr);
end;
end;

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

Обсуждается в конференциях   |x|
  • Server
    у меня есть программа, работающая с локальными базами данных использую SQL запросы теперь необходимо чтобы всё работало ...
  • Сортировка WideString-списка...
    Привет, All! Кто-нибудь знает быстрый алгоритм сортировки Unicode-списка? Заранее благодарен!
  • Вывести определенную строку из определенной колонки
    Уважаемые мастера, подскажите plz, трабла вот в чем: У меня есть таблица kp , в ней есть колонка nam, мне нужно вывести ...
  • Нет Юнита D s g n I n t f
    У меня в стандартных наборах Delphi7 нет юнита DsgnIntf, А он нужен для некоторых компонентов, как быть? PindosInc®
  • программирование Delphi
    Как группу фигур Shapes обьединить в один обьект со свойствами Shapes для этого обьекта ?
  • Как узнать hendle приложения
    Как узнать hendle программы по её заголовку
  • Типы в InterBase
    Есть-ли логический временные (не DateTime) типы полей в InterBase'е, если нет, то как лучше их создавать?
У нас большой выбор статей   |x|
Иерархические структуры данных в реляционных БД
Наряду с «плоскими» данными, при построении даже простых информационных систем, приходится хранить в БД и информацию о «вложенных» друг в друга сущностях, т.е иерархические данные. Организация хранения такой информации в реляционных БД проста, но не всегда очевидна для тех, кто впервые сталкивается с подобной задачей. В данной статье я попытаюсь поделиться накопленным опытом.
Новинки книжного рынка   |x|
Object Pascal в Delphi
В книге даются исчерпывающие справочные сведения по языку Object Pascal в Delphi 6 и предшествующих версиях: синтаксис языка, все операции и операторы, все типы данных, работа с исключениями, с сообщениями Windows, с текстовыми и двоичными файлами, со строками разных типов, массивами (в том числе открытыми и динамическими), множествами, записями, классами. Рассматривается возможность создание собственных типов variant с перегрузкой операций.
Приводится около 400 функций языка Object Pascal, Delphi, API Windows, из них более 170 описаны подробно с примерами применения.
Книга является несколько сокращенным изложением глав книги `Delphi 6. Справочное пособие`, посвященных языку Object Pascal.
Как справочник книга полезна пользователям любой квалификации, но, прежде всего - начинающим разработчикам.

Автор: А. Я. Архангельский
Другие сайты о DELPHI   |x|
Домашняя страница Mixan'a со множеством программ, утилит и исходников к ним !
На сайте расположено большое количество написанных мною программ и исходников к ним. Затронуты многие темы: интернет, система, безопасность, игры, программы-приколы, даже взлом. Программист любого ...

» Оценка сайта: 3
Опрос населения :)
Новый журнал для программистов "RSDN Magazine". Ваше мнение, нужен ли он вообще?
»»» Да
»»» Нет
Для души

Хокку дня
Намазал на хлеб
Запах листвы молодой,
И уплетаю...

Афоризмы
Ревность – поиски любви там, где она не и ночевала.

Фраза дня
Если третье лезвие бреет ещё чище - то зачем нужны первые два?

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

И на закуску коротенький анекдот
Приходит мужичок в компьютерную лавку и спрашивает:
- У вас есть спирали для чайников?
Продавец:
- Спирали? Для... чайников???

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


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

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


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

В избранное