Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.08.2008, 19:38
Аватар для Vayrus
Vayrus Vayrus вне форума
Исполняемый Ретровирус
 
Регистрация: 09.08.2008
Адрес: Umbrella Corporation
Сообщения: 743
Репутация: 1293
По умолчанию В чем ошибка, подскажите, пожалуйста?

Плиз помогите несведущему Есть сайт www.izes.ru, а на нем в разделе Спецпредложение ассортимент продукции. Продукция представлена в виде таблиц.
Я копирую данные из таблиц в текстовый файл, но, естественно, теряется выравнивание текста. Как выравнить столбцы
в текстовом файле?

Последний раз редактировалось Vayrus, 24.08.2008 в 18:49.
Ответить с цитированием
  #2  
Старый 22.08.2008, 19:40
Аватар для Vayrus
Vayrus Vayrus вне форума
Исполняемый Ретровирус
 
Регистрация: 09.08.2008
Адрес: Umbrella Corporation
Сообщения: 743
Репутация: 1293
По умолчанию

Вот, так будет понятнее
Изображения
Тип файла: jpg кадр.jpg (23.5 Кбайт, 12 просмотров)

Последний раз редактировалось Vayrus, 22.08.2008 в 19:46.
Ответить с цитированием
  #3  
Старый 22.08.2008, 20:35
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Для этого первое условие - моноширинный шрифт (типа Курьера).
Далее, загоняешь все данные в массив записей, например. Или другим способом выясняешь длинну самой длинной строки для каждого поля.
Ну и теперь при выводе данные "дорисовываешь" сзади пробелами до нужной длинны.
Ответить с цитированием
  #4  
Старый 22.08.2008, 22:46
Аватар для Vayrus
Vayrus Vayrus вне форума
Исполняемый Ретровирус
 
Регистрация: 09.08.2008
Адрес: Umbrella Corporation
Сообщения: 743
Репутация: 1293
По умолчанию

Покажи, пожалуйста, примерчик по теме для работы с массивами, а то я с ними особо не работал.
Ответить с цитированием
  #5  
Старый 24.08.2008, 18:48
Аватар для Vayrus
Vayrus Vayrus вне форума
Исполняемый Ретровирус
 
Регистрация: 09.08.2008
Адрес: Umbrella Corporation
Сообщения: 743
Репутация: 1293
Счастье

Код:
function ReplaceSubString(source,target,new:string):string;
var
rslt: String;
begin
While POS(target,source)>0 do
begin
rslt:=rslt+copy(source,1,POS(target,source)-1)+new;
Delete(source,1,POS(target,source)+Length(target)-1);
Application.ProcessMessages;
end;
Result:=rslt+source;
end;

function To_HTML_Table(InTxt: String): String;
const
first='<TR><TD noWrap width="30%">';
Stand='</TD><TD noWrap align=middle width="1%">';
closet='</TD></TR>';
var
List : TstringList;
OutL : TstringList;
I:Integer;
S:String;
begin
List := TstringList.Create;
OutL := TstringList.Create;
List.Text := InTxt;
for i:=0 to list.Count-1 do
begin
S:=List.Strings[i];
S:=ReplaceSubString(S,#9,Stand);
S:=first+S+closet;
OutL.Add(S);
Application.ProcessMessages;
end;
RESULT:=OutL.Text;
List.Free;
OutL.Free;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
if not CheckBox1.Checked then
begin
ShowMessage('ClipBoard is empty!');
EXIT;
end;
Memo1.Clear;
memo1.Text:=To_HTML_Table(CB.AsText);
end;

Подскажите в чем ошибка?
Есть такая строчка в буфере обмена:
АЕ 2066-20А* 2 853,0 554,5

Вместо:
<TR><TD noWrap width="30%">АЕ 2066-20А*</TD><TD noWrap align=middle width="1%">2</TD><TD noWrap align=middle width="1%"> 853,0 </TD><TD noWrap align=middle width="1%"> 554,5 </TD></TR>

выдает:
<TR><TD noWrap width="30%">АЕ 2066-20А*</TD><TD noWrap align=middle width="1%"></TD><TD noWrap align=middle width="1%"></TD><TD noWrap align=middle width="1%">2</TD><TD noWrap align=middle width="1%"> 853,0 </TD><TD noWrap align=middle width="1%"> 554,5 </TD></TR>
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 04:09.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025