Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.02.2008, 12:38   #1
Drain
Пользователь
 
Регистрация: 05.12.2007
Сообщений: 10
По умолчанию Теперь по делу

Вот код, который изменяет количество знаков после запятой или точки. Вопрос, у меня последний столбик в обрабатываемом файле не изменяется. По коду, идет поиск пробелов, а за значениями в последнем столбике не пробелы и не Ентер, что же может быть?? Посмотрите код, верно ли все?

//Меняем кол-во знаков
if(CheckBox2.Checked) then
begin
begf := -1;
endf := -1;
//перебираем всю строку
for x:=1 to Length(s) do
begin
//ищем начало остатка после запятой
if(s[x]='.')or(s[x]=',') then
begf := x+1;
//ищем конец остатка
if(s[x]=' ') or (s[x]=#13) then
if(begf>0)then
endf := x-1;

//начало и конец найдены
if(begf>0)and(endf>0) then
begin
countf := (endf-begf)+1;
begf := countf-StrToInt(Edit2.Text);
if(begf>0)then
begin
Delete(s, endf-begf, begf);
Insert(' ', s, endf);
end;
//ShowMessage(IntToStr(begf)+' '+ IntToStr(endf));
begf := -1;
endf := -1;
end;
end;
end;

Memo1.Lines.Strings[i] := s;

Вот часть обрабатываемого файла:
~A DEPTH ALFAK AK1 AK2 DTP TP1 TP2
90.200 -9999.990 63.000 14.083 -9999.990 254.391 820.125
90.400 -9999.990 63.333 12.703 -9999.990 254.391 820.125
90.600 -9999.990 57.067 11.550 -9999.990 254.391 820.125
90.800 -9999.990 53.178 20.483 -9999.990 254.391 820.125
91.000 26.589 54.322 28.883 1131.469 254.391 820.125
91.200 26.050 50.000 27.715 1131.469 254.391 820.125
91.400 21.593 50.856 23.835 1131.469 254.391 820.125
Drain вне форума Ответить с цитированием
Старый 07.02.2008, 12:49   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Не в обиду будь сказано, но такая стратегия - насилие над делфой
Вот мои соображения:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var    s:TStringList;
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var k,i:integer;
begin
s:=TStringList.Create;
DecimalSeparator:='.';
s.Delimiter:=' ';
ListBox1.Items.LoadFromFile('file1.txt');
for i :=0  to ListBox1.Items.Count-1  do
begin
 s.DelimitedText:=ListBox1.Items[i];
 for k :=0  to s.Count-1  do
 begin
  s[k]:=format('%5.2f',[strtofloat(s[k])]);
 end;
 ListBox1.Items[i]:=s.DelimitedText;
end;

end;


end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Опять сумма. Теперь при условии jungo Microsoft Office Excel 11 07.05.2008 09:38
Теперь понятно почему мало пользуются поиском... Карась О форуме и сайтах клуба 9 03.03.2008 23:32
декомпелировал прогу, в конце убрал код, теперь обратно не компилируется benjaminfran Общие вопросы Delphi 2 19.02.2008 12:57
Теперь играем бесплатно! Shurik Hacker Софт 0 12.01.2008 12:53