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

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

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

ShIvADeSt (20-04-2006 01:53): http://forum.ru-board.com/topic.cgi?forum=33&topic=6679#1  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 101 102

   

FAngel



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
STEEL
Как обычный ресурс с данными, потом сохраняешь на диск и запускаешь.

Всего записей: 799 | Зарегистр. 04-12-2003 | Отправлено: 07:16 24-10-2005
STEEL



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
На входе есть строчка, которая разделена #10 символами, необходимо всё что между #10 раскидать по отдельным строчкам, думаю задача ясно, для этого TStringList использую. Осталось самое главное, что-то не получается у меня с помошью strmove, strpos это реализовать. Поможите плиз
 

Код:
 
function TForm1.Str2Br(s: String): String;
var i : Integer, StrList : TStringList;
 
begin
  StrList := TStringList.Create;
 
  for i := 0 to Length(s)-1 do
  begin
    if s[i] = #10 then begin
 
  Strlist.add(    );
 
      end;
 
   end;
 

 
Или пускай просто строчки мне передаёт, а я их сам в StringList засуну Да, так вернее :-P

Всего записей: 2293 | Зарегистр. 06-01-2002 | Отправлено: 22:41 24-10-2005 | Исправлено: STEEL, 22:43 24-10-2005
Almaz



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

Цитата:
На входе есть строчка, которая разделена #10 символами

как обрабатывать два и более подряд разделителя?
считать за один, или пустые строки между ними?
 
антикварная rxLib
rxStrUtils.pas
 

Цитата:
function WordCount(const S: string; const WordDelims: TCharSet): Integer;
var
  SLen, I: Cardinal;
begin
  Result := 0;
  I := 1;
  SLen := Length(S);
  while I <= SLen do begin
    while (I <= SLen) and (S[I] in WordDelims) do Inc(I);
    if I <= SLen then Inc(Result);
    while (I <= SLen) and not(S[I] in WordDelims) do Inc(I);
  end;
end;


Цитата:
function ExtractWord(N: Integer; const S: string;
  const WordDelims: TCharSet): string;
var
  I: Integer;
  Len: Integer;
begin
  Len := 0;
  I := WordPosition(N, S, WordDelims);
  if I <> 0 then
    { find the end of the current word }
    while (I <= Length(S)) and not(S[I] in WordDelims) do begin
      { add the I'th character to result }
      Inc(Len);
      SetLength(Result, Len);
      Result[Len] := S[I];
      Inc(I);
    end;
  SetLength(Result, Len);
end;


Цитата:
// Функция аналогична функции ExtractWord.  
// В отличии от нее воспринимает 2 символа из Delims, идущих подряд,  
// как разделители между пустой строкой.  
// думается, что DelimitedCount (аналог WordCount) можно не приводить
function ExtractDelimited(N: Integer; const S: string;
  const Delims: TCharSet): string;
var
  CurWord: Integer;
  I, Len, SLen: Integer;
begin
  CurWord := 0;
  I := 1;
  Len := 0;
  SLen := Length(S);
  SetLength(Result, 0);
  while (I <= SLen) and (CurWord <> N) do begin
    if S[I] in Delims then Inc(CurWord)
    else begin
      if CurWord = N - 1 then begin
        Inc(Len);
        SetLength(Result, Len);
        Result[Len] := S[I];
      end;
    end;
    Inc(I);
  end;
end;


Всего записей: 2219 | Зарегистр. 20-06-2002 | Отправлено: 23:50 24-10-2005
Bol970



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравия желаю All.
 
Есть такая необходимость, как выводить на печать текстовые строки, по мере их поступления. Т.е обычный лог.
Не знаю с какой стороны к этому вопросу подойти. Исходя из философии windows, нужно подготовить страницу к печати и за один раз напечатать, а мне нужно построчно, как раньше в DOS было вместе с Escape последовательностями.
 
PS
WinXP SP2 Eng;
D7,D9;

Всего записей: 94 | Зарегистр. 05-10-2004 | Отправлено: 10:53 25-10-2005
PowerChute



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bol970
Ставь матричник и печатай.

Всего записей: 520 | Зарегистр. 13-10-2004 | Отправлено: 10:59 25-10-2005
Bol970



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
PowerChute
 
Реально новых матричных принетров с ESC/2, нет.
 
Как-то ведь windows печатает в DOS моде?

Всего записей: 94 | Зарегистр. 05-10-2004 | Отправлено: 12:36 25-10-2005
PowerChute



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Тогда посылай на печать и как только буфер наполнится на страницу он сам тебе выплюнет лист.

Всего записей: 520 | Зарегистр. 13-10-2004 | Отправлено: 12:40 25-10-2005
Bol970



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
PowerChute
 
Мысли у нас работают в одном направлении, я то же так считаю.
 
Но мне нужно, есть событие - напечатал строку, жду следующего события, это нужно, чтобы  
событие "точно" не потерялось, типа система безопасности. Т.е. в последствие, что бы не случилось с компьютером, последнее событие напечатано.

Всего записей: 94 | Зарегистр. 05-10-2004 | Отправлено: 13:05 25-10-2005
PowerChute



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Тогда не знаю. Кроме матричного принтера ничего на ум не приходит. Может быть какие-нибудь струйники по принципу матричного работают.

Всего записей: 520 | Зарегистр. 13-10-2004 | Отправлено: 13:49 25-10-2005
YurikGL



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Насколько я знаю, лазерники сначала загружают в свою память всю страницу и лишь потом ее печатают...
А что, необходимо что-бы бумажка остановилась в принтере?

Всего записей: 308 | Зарегистр. 02-09-2004 | Отправлено: 17:34 25-10-2005
evle



1 + int rand(100);
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
PowerChute
Писать события в базу данных и в отдельном поле указывать напечатано ли. Заполнять только после выхода листа. Печатать после заполнения листа. При сбоях смотреть в базе, что не напечатано. Издеваться так над принтером нехорошо.

----------
For every complex problem, there is a solution that is simple, neat, and wrong.

Всего записей: 2110 | Зарегистр. 03-02-2005 | Отправлено: 19:13 25-10-2005
STEEL



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Almaz
Спасиб. Остановился на StringList.Delimiter
 
Другая задача, необходимо в трей помещать текст, причем при срабатывании таймера обновлять его. 8( Есть какие-нибудь идеи?

Всего записей: 2293 | Зарегистр. 06-01-2002 | Отправлено: 20:24 25-10-2005
ShIvADeSt



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

Цитата:
Другая задача, необходимо в трей помещать текст, причем при срабатывании таймера обновлять его

Трей - это который систем трей (там где часики)? Если да, то есть тема, как вывести текст в трей, буквально не давно отвечал в ней да и сам автор по-другому решил задачу, посмотри там готовые решения. Только в трей можно вывести только то, что разместится в иконке, либо рисовать на канве трея (а это не есть гут, так как придется постоянно перерисовывать).

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 01:46 26-10-2005
PowerChute



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
evle
Ты маленько не по адресу
Это Bol970 хочет так печатать.

Всего записей: 520 | Зарегистр. 13-10-2004 | Отправлено: 05:19 26-10-2005
Almaz



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

Цитата:
Остановился на StringList.Delimiter

 
а я искал эту штуку в дельфийской StrUtils, не нашел и сунул тебе куски из rxLib
помню, что есть такое, а найти никак не могу
правильное название: TStrings.DelimitedText
кстати, в rxLib чуть лучше, у них Delimiter - set of char. например, можно и табуляцию, и пробел отлавливать одновременно

Всего записей: 2219 | Зарегистр. 20-06-2002 | Отправлено: 06:23 26-10-2005
Bol970



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

Цитата:
Писать события в базу данных и в отдельном поле указывать напечатано ли. Заполнять только после выхода листа.

Не подходит, база есть но она удаленная, на другой машине, а на этой нельзя ставить потому как, чем больше прог тем больше багов.
 

Цитата:
Издеваться так над принтером нехорошо.

А что делать, windows над нами издевается, а мы над переферией. Ж;)
 
А если серьезно, то у епсонов есть esc/p последовательность команд, которые позволяют управляю принтером, в достаточно полной мере.
 
Я вот думаю, может драйвер специальный для windows соорудить?

Всего записей: 94 | Зарегистр. 05-10-2004 | Отправлено: 13:43 26-10-2005
Dim2004

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

Цитата:
Может быть какие-нибудь струйники по принципу матричного работают.

А они, по-моему, все так работают - струйнику не нужно формировать сразу всю страницу, он строками печатает.
 
YurikGL

Цитата:
лазерники сначала загружают в свою память всю страницу и лишь потом ее печатают

Да, и объехать это не получится.

Всего записей: 222 | Зарегистр. 11-05-2004 | Отправлено: 16:32 26-10-2005
OdesitVadim



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

Цитата:
он строками печатает

Не совсем строками. Правильней сказать "горизонтальными полосами". Хотя при определённом шрифте будет "строками"

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

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 20:45 26-10-2005
vserd

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

Цитата:
Реально новых матричных принетров с ESC/2, нет.

А разве Epson LX-300+ не поддерживает управляющие символы? не верю :))

Всего записей: 2065 | Зарегистр. 08-05-2002 | Отправлено: 15:59 27-10-2005
dartvaider



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ а можно ли стандартными компонентами Делфи вставить в проект анимированный GIF файл?

Всего записей: 534 | Зарегистр. 31-08-2005 | Отправлено: 12:29 28-10-2005
   

Страницы: 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 101 102

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi
ShIvADeSt (20-04-2006 01:53): http://forum.ru-board.com/topic.cgi?forum=33&topic=6679#1


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru