Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Delphi] Временные файлы, Поиск 
:(
    Опции темы
DarkNort
  Дата 28.6.2006, 07:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 13.4.2006

Репутация: нет
Всего: нет



Люди! памагите! как сделать  нахождение числа (двоичная система координат) и переводит в десятеричную систему координат В  файле  winput.txt  надо  написать: Анализ  произведённых вычислений показал,  что  101  человек  не  смогли произвесли таких вычислений. А потом  всё это счастье надо переписатьи перевести в файл woutput.txt, в котором как поняли должно быть написано: анализ произведённых вычислений показал,   что   5   человек   не  смогли произвесли таких вычислений. 

если можно скажите пжалуйста код на делфи... 
PM   Вверх
comtat
Дата 28.6.2006, 08:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1310
Регистрация: 2.5.2006
Где: Россия, Казань

Репутация: 8
Всего: 71



Вот перевод из двоичной в десятичную
Код
// Binary to Integer 

function BinToInt(Value: string): Integer;
 var
   i, iValueSize: Integer;
 begin
   Result := 0;
   iValueSize := Length(Value);
   for i := iValueSize downto 1 do
     if Value[i] = ′1′ then Result := Result + (1 shl (iValueSize - i));
 end;


А с чтением щас подумаю....  smile  


--------------------
Рожденный в СССР !!!
ExtJS - мой фреймворк 
PM   Вверх
comtat
Дата 28.6.2006, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1310
Регистрация: 2.5.2006
Где: Россия, Казань

Репутация: 8
Всего: 71



Вот пробуй 
Код

unit rd1_;

interface

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

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    procedure Button1Click(Sender: TObject);
    function BinToInt(Value: string): Integer;
  private
    { Private declarations }
  public

  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

// ùåë÷îê íà êíîïêå Îòêðûòü
procedure TForm1.Button1Click(Sender: TObject);
var
   f: TextFile;       // файл
   InFileName,OutFileName: String[80]; // имена файлов
   i: Integer;
   str: String;
   buf: String[255];   // буфер для чтения строк
   out_buf: String;   // буфер для записи

begin
   if not OpenDialog1.Execute
    then { пользователь закрыл диалог }
         exit;

   // пользователь выбрал файл
   InFileName := OpenDialog1.FileName;
   Form1.Caption := InFileName;
   AssignFile(f, InFileName);

   try
       Reset(f);  // открытие для чтения
   except
        on EInOutError do
        begin
            ShowMessage('Ошибка доступа к файлу '+InFileName);
            exit;
        end;
   end;

   Memo1.Lines.Clear; // очистка Memo
   str:='';
   out_buf:='';
   // чтение из файла
   while not EOF(f) do
     begin
        readln(f, buf);       // чтение строки из файла
        for i:=1 to Length(buf) do
         if ((CompareText(buf[i],'1')=0)or(CompareText(buf[i],'0')=0)) then
           str:=str+buf[i]
         else
          begin
           if (length(str)>0) then
            begin
              str:=IntToStr(BinToInt(str));
              out_buf:=out_buf+' '+str+' ';
              str:='';
            end
           else out_buf:=out_buf+buf[i];
          end;
        Memo1.Lines.Add(out_buf); // вывод в Memo1
     end;
   CloseFile(f); // закрытие файла

   {Запись в файл}
   if not SaveDialog1.Execute
    then { пользователь закрыл диалог }
         exit;

   // пользователь выбрал файл
   OutFileName := SaveDialog1.FileName;
   AssignFile(f, OutFileName);
   //if not(FileExists(OutFileName)) then Rewrite(f);
   try
       Rewrite(f);  // открывается для записи
   except
        on EInOutError do
        begin
            ShowMessage('Ошибка доступа к файлу '+OutFileName);
            exit;
        end;
   end;
   WriteLn(f, out_buf);
   CloseFile(f);
end;

function TForm1.BinToInt(Value: string): Integer;
 var
   i, iValueSize: Integer;
 begin
   Result := 0;
   iValueSize := Length(Value);
   for i := iValueSize downto 1 do
     if CompareText(Value[i], '1')=0  then
      Result := Result + (1 shl (iValueSize - i));
 end;

end.


 smile  


--------------------
Рожденный в СССР !!!
ExtJS - мой фреймворк 
PM   Вверх
DarkNort
Дата 29.6.2006, 06:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 13.4.2006

Репутация: нет
Всего: нет



Цитата(comtat @ 28.6.2006,  10:56)
begin
   if not OpenDialog1.Execute

Он пишет в ошибках Undeclared identifier: 'OpenDialog1', что делать? 
PM   Вверх
comtat
Дата 29.6.2006, 07:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1310
Регистрация: 2.5.2006
Где: Россия, Казань

Репутация: 8
Всего: 71



Положи на форму SaveDialog и OpenDialog находятся во вкладке Dialods smile 


--------------------
Рожденный в СССР !!!
ExtJS - мой фреймворк 
PM   Вверх
DarkNort
Дата 30.6.2006, 00:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 13.4.2006

Репутация: нет
Всего: нет



Спасиб тебе comtat...

smile  

Это сообщение отредактировал(а) DarkNort - 30.6.2006, 00:11
PM   Вверх
comtat
Дата 30.6.2006, 08:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1310
Регистрация: 2.5.2006
Где: Россия, Казань

Репутация: 8
Всего: 71



Да не за что smile
P.s. Вопрос помечай решенный  smile  


--------------------
Рожденный в СССР !!!
ExtJS - мой фреймворк 
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0697 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.