Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi 2

Модерирует : ShIvADeSt

ShIvADeSt (22-03-2007 02:18): http://forum.ru-board.com/topic.cgi?forum=33&topic=8142  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

   

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Продолжение темы http://forum.ru-board.com/topic.cgi?forum=33&topic=3647&start=2020#lt
Внимание, все большие куски кода (более 5 строк) оформляем в тег [more] дабы уменьшить размер поста.

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 01:52 20-04-2006 | Исправлено: ShIvADeSt, 02:02 30-06-2006
NewbieCnt

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
wader
Спасибо. Но вот непонятно там написано. Т.е. если я знаю, что строка это последовательность байтов. Это либо однобайтные (utf8), либо двубайтные (16). Тогда уже можно последовательность из буффера обмена вставлять переключив на неанглийский язык. Но если читаю xml в dom парсер, то всё равно надо бы определиться. Я думал что в WideString хватит одного символа, чтобы обозначить любую кодировку. Значит может и функция такая есть типа

Код:
 
if IsWideString(s) then  
  for i:=1 to length(WideString(s)) do ;
 

Всего записей: 15 | Зарегистр. 01-09-2006 | Отправлено: 17:52 19-09-2006
GTA3

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
procedure TForm2.Button1Click(Sender: TObject);
 var
z,s: string;
begin
DateTimeToString(s,'mmdd',now);
DateTimeToString(z,'yyyymmdd',now);
 
memo1.Lines.Text:='TUTDF' +chr(9)+ '1.0r' +chr(9)+
 '20050701' +chr(9)+ 'S401BB000001' +chr(9)+ ''+chr(9)+
   '' +z+ '' +chr(9)+ 'M3b2gGta'  +chr(9)+
    'is a sample comment' +chr(13)+  //перевели каретку на новую строку
 
   'ID01' +chr(9)+ ''  +chr(9)+ 'serNomer' +chr(9)+
   datevidanpassport.Field.Text+ '' +chr(9)+ '' +Kemvidan.Text+ '' +chr(9)+
    '' +gdevidan.Field.Text+
   chr(13)+ 'NA01' +chr(9)+;
 
end;
Не знаю даже как объяснить попробую вот так...
это часть кода по сохранению текста в определенном формате...
'ID01' +chr(9)+ ''  +chr(9)+ 'serNomer' +chr(9)+
ЕСЛИ будет следующая строка то она должна быть такого вида
тоесть ID на каждой строке возрастает  
'ID02' +chr(9)+ ''  +chr(9)+ 'serNomer' +chr(9)+
но ее может и не быть...
помогите мне написать функцию или цикл...который будет смотреть есть ли на предыдущей строке ID+номер. Если есть будет проставлять ID+ "следующий номер"
 
 
 

Всего записей: 114 | Зарегистр. 22-07-2004 | Отправлено: 21:49 19-09-2006
SERGE_BLIZNUK

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GTA3

Цитата:
'ID01' +chr(9)+ ''  +chr(9)+ 'serNomer' +chr(9)+  
ЕСЛИ будет следующая строка то она должна быть такого вида  
тоесть ID на каждой строке возрастает  
'ID02' +chr(9)+ ''  +chr(9)+ 'serNomer' +chr(9)+  

 
заведи глобальную переменную  MyID (можешь засунуть её описание в  
  TForm2 = class(TForm)
    ....
  private (или public)
    MyID : Integer;
 
на TForm2.FormCreate
  MyID := 1;
 
при выводе строки преобразуй в число, дополняй нулями спереди (если нужно)  
и наращивай Inc(MyID)
 

Цитата:
но ее может и не быть...  

а это как? у тебя не видно условия... впрочем - в этом случае (когда её нет - не выводишь и НЕ наращиваешь переменную)
надеюсь, что я смог донести до тебя свою мысль.
 
Добавлено:
а вообще, формальный ответ на твой вопрос, проверить наличие текста ID в последней строке memo можно так:

Код:
 
  if Pos('ID',memo1.Lines[memo1.Lines.Count-1]) = 1 then  
     // нашли текст 'ID' в последней строчке
 


Всего записей: 2014 | Зарегистр. 12-09-2002 | Отправлено: 00:05 20-09-2006 | Исправлено: SERGE_BLIZNUK, 00:07 20-09-2006
xitsmex



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NewbieCnt
Не подойдет IsTextUnicode из WinAPI? Илия не правильно понял задачу?

Всего записей: 58 | Зарегистр. 31-08-2005 | Отправлено: 00:31 20-09-2006
dmit000



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1. подскажите пожалуйсто код реализации секундомера с его отражением в метке Label
    (нажал на кнопку и в метке label побежало время секундомера)
 
2. подскажите пожалуйсто код реализации таймера обратного отсчёта времени с его отражением в метке Label (нажал на кнопку и в метке label побежало время таймера)

Всего записей: 483 | Зарегистр. 07-06-2004 | Отправлено: 07:31 20-09-2006
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
dmit000
Заводишь у формы поле  
StartTime: TDateTime
 
Кидаешь на форму TTimer, ставишь ему интервал такой, с каким тебе надо обновлять тект в лейбле и выключаешь (Enabled = False).
 
При нажатии на кнопку "Старт" включаешь таймер и запоминаешь время старта
StartTime := Now;
 
В событии OnTimer таймера выводишь в лейбл разницу между текущим временем и временем старта
Label1.Caption := DateTimeToStr(Now - StartTime)
 
Для обратного отсчета величину (Now - StartTime) отнимаешь от своего стартового значения, а когда все это станет меньше 0 - выключаешь таймер

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 07:57 20-09-2006
dmit000



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RomanTim
 
спасибо
 
Добавлено:
RomanTim
 
а как сделать чтобы в таймере отображались ещё и милисекунды, т.е. по маске
00:00:00:00

Всего записей: 483 | Зарегистр. 07-06-2004 | Отправлено: 08:45 20-09-2006
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
dmit000

Цитата:
а как сделать чтобы в таймере отображались ещё и милисекунды, т.е. по маске
00:00:00:00  

FormatDateTime

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 09:17 20-09-2006
RostY



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
отображать-то милисекунды можно, то сомневаюсь что у тебя таймер будет страбатывать через каждую милисекунду

Всего записей: 387 | Зарегистр. 11-01-2006 | Отправлено: 09:46 20-09-2006
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
dmit000RostY
 
Будет укладываться, гдето 2 раза в милисекунду. Но смысл?

----------
Press any key to continue or any other key to exit
Пишите так, чтобы не было стыдно за нобелевскую премию.

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 13:16 20-09-2006
dmit000



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OdesitVadim
Для эмитации работы

Всего записей: 483 | Зарегистр. 07-06-2004 | Отправлено: 15:23 20-09-2006
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
dmit000
Человек может различать от 12 до 20 кадров в секунду. поэтому в кинематографе используется 24 кадра. Поэтому человек будет видеть, как изменяются десятые доли, а вот сотые - будут сливаться. Смело можеш ити с шагом в 0,04с и пользователь не заметит.
Можеш поставить эксперемент и убедиться.

----------
Press any key to continue or any other key to exit
Пишите так, чтобы не было стыдно за нобелевскую премию.

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 16:59 20-09-2006
Zver1992

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Хотелось бы узнать, как проиграть mp3 файл из .res файла? Я компилирую его, получаеться одна программа (всё в одном файле, включая звук). Способ, исопльзуемый в статьях для .wav - не работает

Всего записей: 599 | Зарегистр. 30-10-2004 | Отправлено: 17:35 20-09-2006
Erazer



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
эсть прблема.... есть такой BladeMP3EncDLL.h, есть его реализация на делфях, НО с ней проги не хотят писать VBR заголовок мр3 файлу, есть догадка что из-за того что структра BE_CONFIG  передаваемая lame_enc.dll на с++ передается размером в 331 байт , а из делфей 329 байт... естественно в паскалевком варианте присутствуют все поля оригинальной структуры .есть мысли ? есть задумка что тут может помочь "выравнивание структур"
 
Добавлено:
Zver1992 а чем ты его декодируешь?

Всего записей: 1729 | Зарегистр. 02-08-2003 | Отправлено: 17:42 20-09-2006
Zver1992

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Erazer
Хм. Есть обычный mp3 файл. 64кб/сек. Пишу в скрипт 1.rc
Intro RCDATA 1.mp3, компилирую через brcc32.exe, получаю 1.res. Подгружаю, а как проиграть?

Всего записей: 599 | Зарегистр. 30-10-2004 | Отправлено: 17:53 20-09-2006
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Erazer
Переводил структуру сам? возможно либо неугадал соответствие типов, либо необходимо запись объявлять как packet record

----------
Press any key to continue or any other key to exit
Пишите так, чтобы не было стыдно за нобелевскую премию.

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 18:28 20-09-2006
GTA3

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
 
SERGE_BLIZNUK
 
при выводе строки преобразуй в число, дополняй нулями спереди (если нужно)  
и наращивай Inc(MyID)

покажи как именно это сделать...и в каком месте...

Всего записей: 114 | Зарегистр. 22-07-2004 | Отправлено: 21:05 20-09-2006
wader



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GTA3
Да тут ничего сложного. Добавляешь переменную, как показал SERGE_BLIZNUK.
А свой обработчик изменяешь следующим образом.
 
весь исходник

Всего записей: 113 | Зарегистр. 26-05-2005 | Отправлено: 22:43 20-09-2006 | Исправлено: wader, 22:44 20-09-2006
vserd

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Erazer
Цитата:
НО с ней проги не хотят писать VBR заголовок мр3 файлу, есть догадка что из-за того что структра BE_CONFIG  передаваемая lame_enc.dll на с++ передается размером в 331 байт , а из делфей 329 байт... естественно в паскалевком варианте присутствуют все поля оригинальной структуры  

Попробуй сравнить передаваемое значение в С++ и в DELPHI.  
Если у тебя передается меньше байт, тогда либо где-то не правильно указал размер строки, либо не угадал с размером целого типа. разница на два байта, так что смотри на 2-х байтовые, 4-х байтовые типы.

Всего записей: 2065 | Зарегистр. 08-05-2002 | Отправлено: 14:29 21-09-2006
Erazer



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zver1992 точно не скажу, но как минимум твоя проблема в том что тебе нужно его чем нить декодировать, а уж потом проигрывать.... кажись дома у меня лежит рецепт как мр3 вывести на mci... пагодь немнога, еще:  Mpg123 is an excellent MPEG decoder.

Всего записей: 1729 | Зарегистр. 02-08-2003 | Отправлено: 14:52 21-09-2006 | Исправлено: Erazer, 15:03 21-09-2006
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi 2
ShIvADeSt (22-03-2007 02:18): http://forum.ru-board.com/topic.cgi?forum=33&topic=8142


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru