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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 26.07.2012, 16:26
metallica4ever metallica4ever вне форума
Прохожий
 
Регистрация: 26.07.2012
Сообщения: 7
Репутация: 10
По умолчанию Перенести столбцы из txt в excel

Всем доброго времени суток!

Подскажите неопытному) Есть текстовый файл с кучей информации, в том числе и с нужной таблицей (сверху названия столбцов, далее строки. Все значения выровнены). Необходимо найти определенные столбцы этой таблицы и перенести их в Excel. Пример таблицы во вложении.

Можно просто принцип поиска, т.е. как найти и "вытащить" нужное значение из таблицы в текстовом файле.

Спасибо всем за терпение и помощь!)
Изображения
Тип файла: jpg 1.jpg (53.0 Кбайт, 5 просмотров)
Ответить с цитированием
  #2  
Старый 26.07.2012, 16:35
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Код:
function Copy(S; Index, Count: Integer): string;
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 26.07.2012, 19:30
metallica4ever metallica4ever вне форума
Прохожий
 
Регистрация: 26.07.2012
Сообщения: 7
Репутация: 10
По умолчанию

ммм... А поподробнее можно?) Меня интересует как в файле найти нужную строку и взять оттуда нужное число, стоящее на определенном месте (типа 43.5) - просто на примере любой строки..
Ответить с цитированием
  #4  
Старый 26.07.2012, 19:32
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Код:
Copy(S, 43, 5);
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Этот пользователь сказал Спасибо NumLock за это полезное сообщение:
metallica4ever (28.07.2012)
  #5  
Старый 28.07.2012, 00:27
metallica4ever metallica4ever вне форума
Прохожий
 
Регистрация: 26.07.2012
Сообщения: 7
Репутация: 10
По умолчанию

Так, с этим разобрался, теперь другая непосильная мне одному задача встала..)) Есть много текстовых файлов в папке, которые надо обрабатывать, у всех разные названия, но схожее содержание. Необходимо их все обработать после нажатия кнопки. Подскажите плиз как организовать работу с большим количеством файлов (я понятия не имею как можно их автоматизированно открывать и обрабатывать, если у них разные названия и их много))). В идеале какой-нибудь бы еще комбо-бокс сделать со списком файлов и чтобы можно было затаскивать туда (в этот бокс) файлы из разных папок.
Ответить с цитированием
  #6  
Старый 28.07.2012, 01:22
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Наверное самое простое решение: сделать это стандартным способом посредством компонента TOpenDialog - после нажатия кнопки откроется диалог, где нужно выбрать нужные файлы, а дальше так:

Код:
procedure Button1Click(Sender: TObject);
var
i: integer;
FileName: string; //Для примера
begin
if OpenDialog1.Execute then // Если выбраны файлы для открытия то...
for i:= 0 to (OpenDialog1.Files.Count - 1) do
// перебираем весь список файлов:
begin
FileName:= OpenDialog1.Files[i];
...
// Вот здесь идёт обработка одного файла
end;
end;

Последний раз редактировалось Alegun, 28.07.2012 в 02:34.
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
metallica4ever (28.07.2012)
  #7  
Старый 28.07.2012, 02:18
metallica4ever metallica4ever вне форума
Прохожий
 
Регистрация: 26.07.2012
Сообщения: 7
Репутация: 10
По умолчанию

Спасибо большое! Есть два момента:
1) Почему-то глючит диалог открытия, когда начинаю прокрутку делать в окне диалога
2) А как теперь работать с файлом? ведь filename - строка.. Я так понял, что надо написать что-то типа assignfile(f,filename), но так не работает.. Прошу прощения за тупость)
Ответить с цитированием
  #8  
Старый 28.07.2012, 02:27
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

filename подставил чисто для примера, в OpenDialog1.Files[i] лежит путь и имя файла для обработки на данной интерации цикла.То, что надо сделать с одним конкретным файлом распологается в теле "begin end;"

Последний раз редактировалось Alegun, 28.07.2012 в 02:31.
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
metallica4ever (28.07.2012)
  #9  
Старый 28.07.2012, 02:37
metallica4ever metallica4ever вне форума
Прохожий
 
Регистрация: 26.07.2012
Сообщения: 7
Репутация: 10
По умолчанию

Я имею ввиду как обращаться к файлу для редактирования? Допустим, readln(f,s) - что писать вместо f?)
Ответить с цитированием
  #10  
Старый 28.07.2012, 02:45
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

У меня тож возник вопрос: а что нужно делать с файлом? Например, загрузить в мемо. Ведь вроде один файл как-то обрабатывается.
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
metallica4ever (28.07.2012)
  #11  
Старый 28.07.2012, 02:56
metallica4ever metallica4ever вне форума
Прохожий
 
Регистрация: 26.07.2012
Сообщения: 7
Репутация: 10
По умолчанию

Там текстовые файлы, надо их обработать - выбрать значения, записать и т.д.) Но я разобрался с этим, спасибо! Возникла другая проблема - не выделяются несколько файлов в диалоге, приходится по одному открывать..
Ответить с цитированием
  #12  
Старый 28.07.2012, 03:00
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Смотрите настройки(опции) диалога, там надо выбрать(true) мультиселект
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
metallica4ever (28.07.2012)
  #13  
Старый 28.07.2012, 03:05
metallica4ever metallica4ever вне форума
Прохожий
 
Регистрация: 26.07.2012
Сообщения: 7
Репутация: 10
По умолчанию

Сделал!!!)) Спасибо огромное, Alegun!
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter