FreePascal — Как я могу скопировать файл из одного места и вставить его в другое? [закрыто]

Я пытаюсь заставить программу вставить свою копию в папку запуска Windows. Мне удалось найти только функцию Lazarus, включенную в FileUtils , CopyFile () , но поскольку я не использую Lazarus, это решение не работает для мне. есть ли другой способ сделать это в FreePascal? все другие вещи, связанные с файлами, которые я могу найти для FreePascal, относятся к текстовым файлам или типу File .


Вы можете скопировать один файл другому с типом и подпрограммами oldschool File :

  function CopyFile (const SrcFileName, DstFileName: AnsiString): Boolean; var Src, Dst  : Файл;  Buf: массив байтов;  ReadBytes: Int64; begin Assign (Src, SrcFileName); {$ PUSH} {$ I-} Reset (Src, 1); {$ POP}, если IOResult  0, то Exit (False);  Assign (Dst, DstFileName); {$ PUSH} {$ I-} Rewrite (Dst, 1); {$ POP}, если IOResult  0, то начать Close (Src);  Выход (Ложь);  конец;  SetLength (Buf, 64 * 1024 * 1024);  пока не Eof (Src), начинайте {$ PUSH} {$ I-} BlockRead (Src, Buf [0], Length (Buf), ReadBytes); {$ POP} если IOResult  0, то начинайте Close (Src);  Закрыть (Dst);  Выход (Ложь);  конец; {$ PUSH} {$ I-} BlockWrite (Dst, Buf [0], ReadBytes); {$ POP} если IOResult  0, то начало Close (Src);  Закрыть (Dst);  Выход (Ложь);  конец;  конец;  Закрыть (Src);  Закрыть (Dst);  Exit (True); end; begin, если не CopyFile ('a.txt', 'b.txt'), то Halt (1); end.  


Чтение списка из txt файла в массив …

Привет всем, я новичок в кодировании и у меня возникли небольшие проблемы с чтением списка в массив из текстового файла.
Я пытаюсь записать 24 слова из текстового файла в массив, а затем использовать число для выбора одного случайным образом (это для очень простой игры в стиле палача)
Я пробовал написать процедуру для чтения слов, а затем функцию, которая возвращает случайное слово, но я пробовал несколько вещей и искал в Интернете учебные пособия, и я не могу найти ту, которая говорит мне, как читать из txt файла в массив (я знаю, как генерировать случайные числа … я думаю): (
Как я уже сказал, я довольно новичок, поэтому Я не совсем уверен, правильно ли я использую массивы.
Вот код, который я написал для чтения из txt-файла в массив (он явно не работает, когда я печатаю содержимое массива в экран для проверки, он просто пустой)

  Процедура ReadToArray; VarPhraseFile: TextFile; FileName: String; BeginFileName: = 'C:  Dev-Pas  MyPhrases.txt'; AssignFile (  PhraseFile, FileName); Reset (PhraseFile); Пока не EoF, начать чтение (PhraseFile);  Для индекса: = от 1 до 24 Do Writeln (RandomPhraseArray [Index]);  {Вот где я застрял, я не уверен, что поставить на эту строку. } End; Close (PhraseFile); End;  

Спасибо за любую помощь 🙂


Привет,

Я полный nube, когда дело доходит до этого im в точно такой же ситуации, что и ui могу заставить его работать, но только скопировав код другого парня из моего класса, я этого не понимаю … Я заметил с помощью urs, хотя вы не объявили ur Index как локальную переменную …. я не знаю, если это решит проблему …. Вот и идет его рабочий код для двух процедур, я понятия не имею, как это работает, хотя, если вы разберетесь, дайте мне знать, ура

   процедура LoadWords (FilePath: строка);  var WordFile: TextFile;  Фраза: строка;  Длина: целое число;  длина начала: = 0;  AssignFile (WordFile, FilePath);  {$ I-} Сбросить (файл Word);  {$ I +} if (IOResult  0) then WriteLn ('Ошибка загрузки' + FilePath) else begin Randomize ();  пока не EoF (WordFile), не начинайте Readln (WordFile, Phrase);  Длина: = Длина + 1;  SetLength (PhraseDictionary, Длина);  PhraseDictionary [Длина-1]: = Фраза;  конец;  CloseFile (WordFile);  конец;  конец; процедура RandomPhrase (); begin if (length (PhraseDictionary)> 0) then NewPhraseEntered (PhraseDictionary [Random (Length (PhraseDictionary))]) else WriteLn ('Нет загруженных фраз для выбора!'); end;  

процедура LoadWords происходит сразу после запуска программы

Надеюсь, это поможет

Adam x


Я пробовал, но это дало мне ошибку:
«Ошибка: несовместимый тип для аргумента № 1: Получено TRANDOMPHRASEARRAY, ожидается OPENSHORTSTRING «
Но trandomphrasearray задан как строка, так что я немного запутался здесь. : S

Я вроде понимаю код, но не уверен, почему он добавил Randomize () в процедуру loadwords или почему это выдает ошибку …

Чтобы получить случайное слово, я использовал:

  Функция GetRandomPhrase: String; VarArrayIndexNo: Integer; NewRandomPhrase: String; BeginRandomize; ArrayIndexNo: = random (24) + 1;  Write (ArrayIndexNo); NewRandomPhrase: = RandomPhraseArray [ArrayIndexNo]; GetRandomPhrase: = NewRandomPhrase; End;  

И, похоже, это сработает, потому что если я извлечу процедуру readtoarray, запустите программу и заставить его распечатать случайную фразу, он распечатает случайное число, за которым следует пустая строка (потому что в нем ничего нет: P)
Фактически он попадает в массив, который меня сбивает …


Я пробовал это, но это дало мне ошибку:
«Ошибка: несовместимо t тип для аргумента нет. 1: Получил TRANDOMPHRASEARRAY, ожидался OPENSHORTSTRING «
Но trandomphrasearray задан как строка, поэтому я немного запутался здесь.: S

Я вроде понимаю код, но не уверен, почему он добавил Randomize () в процедуру loadwords или почему это дает мне ошибку …

Чтобы получить случайное слово, которое я использовал:

  Функция GetRandomPhrase: String; VarArrayIndexNo: Integer; NewRandomPhrase: String; BeginRandomize; ArrayIndexNo: = random (24) + 1; Write (ArrayIndexNo); NewRandomPhrase: = RandomPhraseArray [ArrayIndexNo];  code> 

И, похоже, это работает, потому что, если я извлеку процедуру readtoarray, запустите программу и заставлю ее распечатать случайную фразу, она распечатает случайное число, за которым следует пустая строка (потому что в нем ничего нет: P)
На самом деле он сбивает меня с толку …


У меня есть идея, что вы Вы говорите?
работает в Dev-Pascal 1.9.2

  Program Solution01; {мы создаем новый тип массива, каждый элемент будет содержать одну строку, макс.  20 символов и содержит 10 элементов.} Введите TArray = Array [0..9] Of String [20]; {Я помещаю текстовый файл в папку c: , вы можете изменить путь к файлу} Const FileName = 'C:   MyPhrases.txt '; {переменные} Var PhraseArray: TArray; {чтение в него из текстового файла} TheWords: TArray;  {чтение из него в текстовый файл} RandomWords: TArray; {сохраняет случайные слова} Counter: Byte;  {подсчитает строки} i, j: Byte;  {переменная цикла, индекс} PhraseFile: Text; {переменная вашего текстового файла} h: String;  {это будет одна строка} {Функция случайных чисел: эта функция будет генерировать случайное целое число между 1 и добавленным числом (это будет счетчик var)} Функция Случайные числа (RN: байт): байт; переменная k: байт; начало k: = случайное число  (9) +1;  RandomNumbers: = k; End; {Процедура чтения файла: мы прямо опускаем 'присваивание', потому что основная программа уже выполнила это при вызове. У нее 3 аргумента 1, Один текстовый файл 2, Один массив 3, Одна переменная счетчика} Процедура FileRead (  Var FR: текст; Var FR1: TArray; Var FR2: Byte); Begin {$ I-} {проверка ввода-вывода выключена} Reset (FR);  {открыт для чтения} {$ I +} {Проверка ввода вывода включена} Если (IoResult = 0) Then Begin FR2: = 0;  Пока (EoF (FR) = False) Начать чтениеLn (FR, h);  {заполняем массив строкой} FR1 [FR2]: = h;  {вывод результата на экран} WriteLn (FR2: 2, '. element:', h);  Inc (FR2);  {увеличить переменную счетчика} End;  WriteLn;  WriteLn ('Попытка заполнить другой массив 4 случайными словами');  WriteLn;  Перемешать;  For i: = 0 To 3 Do Begin j: = RandomNumbers (Counter); {вызывая нашу функцию} RandomWords [i]: = PhraseArray [j];  WriteLn (i: 2, '. Element:', RandomWords [i]);  Конец;  End Else WriteLn ('Ошибка при сбросе файла.'); End; Begin {main} {'C: MyPhrases. txt 'состоит из слов в виде фалов} {потому что мы не знаем содержимое вашего текстового файла, я просто} {помещаю 10 слов, одно слово в одну строку} TheWords [0]: =' apple ';  TheWords [1]: = 'персик';  TheWords [2]: = 'время';  TheWords [3]: = 'день';  TheWords [4]: ​​= 'солнце';  TheWords [5]: = 'паскаль';  TheWords [6]: = 'маленький';  TheWords [7]: = 'отлично';  TheWords [8]: = 'корабль';  TheWords [9]: = 'молоко';  {мы записываем эти слова в текстовый файл} Assign (PhraseFile, FileName); {назначаем, этого достаточно для одного сеанса} {уведомляем пользователя ...} WriteLn ('Назначение ок.');  {создать файл ...} ReWrite (PhraseFile); {открыть для записи} {записать указанные выше слова в этот файл} For i: = 0–9 Do Begin WriteLn (PhraseFile, TheWords [i]);  Конец;  WriteLn ('Запись из массива ок.');  WriteLn ('Попытка записи из текстового файла в массив.');  WriteLn ('Если вы видите список, значит, процесс прошел успешно.');  WriteLn;  FileRead (PhraseFile, PhraseArray, Счетчик);  {вызов нашей процедуры} WriteLn;  Close (PhraseFile); {закрытие файла перед концом основной программы} WriteLn ('Нажмите Enter, чтобы выйти ...');  ReadLn; End. {End of main} {- = Создано FlamingClaw = - = 2009.04.26 = -}  


Randomize ();

  Произвольно  ;  

Remark Randomize Procedure.
Инициализирует встроенный генератор случайных чисел
случайным значением (полученным из
системы часы).

Объявление:
процедура Randomize;

Цель:
Windows, Real, Protected

Примечания:
Если диапазон не указан, результатом будет
случайное число вещественного типа в диапазоне 0 X типа Word, и результатом будет случайное число типа
Word в диапазоне 0 X .

Генератор случайных чисел должен быть
инициализирован путем вызова функции Randomize или
путем присвоения значения RandSeed.


  {Функция случайных чисел: эта функция будет генерировать случайное целое число от 1 до добавленного числа (это будет счетчик var)} Функция Случайные числа (RN: Byte): Byte; Var k: Byte; Begin k: = Random (RN  ) +1; {исправлено, извините} RandomNumbers: = k; End;  

Моя плохая запись, что я написал 9 в аргументе Random, и мы ждем количество строк …..: ‘(
Извините за это, но исправлено и работает
В любом случае работаю и с 9, потому что я знаю, что там всего 10 строк. Но семантическая ошибка .. …. : D


  {Функция случайных чисел: эта функция будет генерировать случайное целое число от 1 до добавленного числа (это будет счетчик var)} Функция Случайные числа (RN: байт): байт; переменная k: байт; начало k: =  Случайное (RN) +1; {исправлено, извините} RandomNumbers: = k; End;  

Моя плохая запись, что я написал 9 в аргументе Random, и мы дождитесь количества строк …..: ‘(
Извините за это, но исправлено и работает
В любом случае работаю и с 9 строками, потому что я знаю, что там всего 10 строк, но семантический ошибка ……: D


Фиксированная версия!

  Программа Solu  tion01; {мы создаем новый тип массива, каждый элемент будет содержать одну строку длиной не более 20 символов и содержит 10 элементов.} Тип TArray = Array [0..9] Of String [20]; {Я помещаю текстовый файл в  c: , вы можете изменить путь к файлу} Const FileName = 'C:  MyPhrases.txt'; {переменные} Var PhraseArray: TArray; {чтение в него из текстового файла} TheWords: TArray;  {чтение из него в текстовый файл} RandomWords: TArray; {это сохранит случайные слова} Counter: Integer;  {подсчитает строки} i, j: Byte;  {переменная цикла, индекс} PhraseFile: Text; {переменная вашего текстового файла} h: String;  {это будет одна строка} {Функция случайных чисел: эта функция будет генерировать случайное целое число между 1 и добавленным числом (это будет счетчик var)} Функция Случайные числа (RN: байт): байт; переменная k: байт; начало k: = случайное число  (RN);  RandomNumbers: = k; End; {Процедура чтения файла: мы прямо опускаем 'присваивание', потому что основная программа уже выполнила это при вызове. У нее 3 аргумента 1, Один текстовый файл 2, Один массив 3, Одна переменная счетчика} Процедура FileRead (  Var FR: текст; Var FR1: TArray; Var FR2: Integer); Begin {$ I-} {проверка ввода-вывода выключена} Reset (FR);  {открыт для чтения} {$ I +} {Проверка ввода вывода включена} Если (IoResult = 0) Then Begin FR2: = 0;  Пока (EoF (FR) = False) Начать чтениеLn (FR, h);  {заполняем массив строкой} FR1 [FR2]: = h;  {вывод результата на экран} WriteLn (FR2: 2, '. element:', h);  Если (EoF (FR)) Then Break;  Inc (FR2);  {увеличить переменную счетчика} End;  WriteLn ('Попытка заполнить другой массив 4 случайными словами');  WriteLn;  Перемешать;  Для i: = от 0 до 3 Начните j: = RandomNumbers (Counter);  RandomWords [i]: = PhraseArray [j];  WriteLn (i: 2, '. Element:', RandomWords [i]);  Конец;  End Else WriteLn ('Ошибка при сбросе файла.'); End; Begin {main} {'C:  MyPhrases. txt 'состоит из слов в виде фалов} {потому что мы не знаем содержимое вашего текстового файла, я просто} {помещаю 10 слов, одно слово в одну строку} TheWords [0]: =' apple ';  TheWords [1]: = 'персик';  TheWords [2]: = 'время';  TheWords [3]: = 'день';  TheWords [4]: ​​= 'солнце';  TheWords [5]: = 'паскаль';  TheWords [6]: = 'маленький';  TheWords [7]: = 'отлично';  TheWords [8]: = 'корабль';  TheWords [9]: = 'молоко';  {мы записываем эти слова в текстовый файл} Assign (PhraseFile, FileName); {назначаем его, это достаточно один сеанс} {уведомляем пользователя ...} WriteLn ('Назначение ок.');  {создать файл ...} ReWrite (PhraseFile); {открыть для записи} {записать указанные выше слова в этот файл} For i: = 0–9 Do Begin WriteLn (PhraseFile, TheWords [i]);  Конец;  WriteLn ('Запись из массива ок.');  WriteLn ('Попытка записи из текстового файла в массив.');  WriteLn ('Если вы видите список, значит, процесс прошел успешно.');  WriteLn;  FileRead (PhraseFile, PhraseArray, Счетчик);  {вызов нашей процедуры} WriteLn;  Close (PhraseFile); {закрытие файла перед концом основной программы} WriteLn ('Нажмите Enter, чтобы выйти ...');  ReadLn; End. {End of main} {- = Создано и исправлено FlamingClaw = - = 2009.04.26 = -}  


Фиксированная версия!

  Program Solution01; {мы создаем  новый тип массива, каждый элемент будет содержать одну строку длиной не более 20 символов и содержать 10 элементов.} Тип TArray = Array [0..9] Of String [20]; {Я помещаю текстовый файл в c: , вы можете  изменить путь к файлу} Const FileName = 'C:  MyPhrases.txt'; {переменные} Var PhraseArray: TArray; {чтение в него из текстового файла} TheWords: TArray;  {чтение из него в текстовый файл} RandomWords: TArray; {это сохранит случайные слова} Counter: Integer;  {подсчитает строки} i, j: Byte;  {переменная цикла, индекс} PhraseFile: Text; {переменная вашего текстового файла} h: String;  {это будет одна строка} {Функция случайных чисел: эта функция будет генерировать случайное целое число между 1 и добавленным числом (это будет счетчик var)} Функция Случайные числа (RN: байт): байт; переменная k: байт; начало k: = случайное число  (RN);  RandomNumbers: = k; End; {Процедура чтения файла: мы прямо опускаем 'присваивание', потому что основная программа уже выполнила это при вызове. У нее 3 аргумента 1, Один текстовый файл 2, Один массив 3, Одна переменная счетчика} Процедура FileRead (  Var FR: текст; Var FR1: TArray; Var FR2: Integer); Begin {$ I-} {проверка ввода-вывода выключена} Reset (FR);  {открыт для чтения} {$ I +} {Проверка ввода вывода включена} Если (IoResult = 0) Then Begin FR2: = 0;  Пока (EoF (FR) = False) Начать чтениеLn (FR, h);  {заполняем массив строкой} FR1 [FR2]: = h;  {вывод результата на экран} WriteLn (FR2: 2, '. элемент: ', h);  Если (EoF (FR)) Then Break;  Inc (FR2);  {увеличить переменную счетчика} End;  WriteLn ('Попытка заполнить другой массив 4 случайными словами');  WriteLn;  Перемешать;  Для i: = от 0 до 3 Начните j: = RandomNumbers (Counter);  RandomWords [i]: = PhraseArray [j];  WriteLn (i: 2, '. Element:', RandomWords [i]);  Конец;  End Else WriteLn ('Ошибка при сбросе файла.'); End; Begin {main} {'C:  MyPhrases.txt' состоит из следующих слов} {потому что мы не знаем содержимое вашего текстового файла, я просто  } {помещая 10 слов, одно слово в одну строку} TheWords [0]: = 'apple';  TheWords [1]: = 'персик';  TheWords [2]: = 'время';  TheWords [3]: = 'день';  TheWords [4]: ​​= 'солнце';  TheWords [5]: = 'паскаль';  TheWords [6]: = 'маленький';  TheWords [7]: = 'отлично';  TheWords [8]: = 'корабль';  TheWords [9]: = 'молоко';  {мы записываем эти слова в текстовый файл} Assign (PhraseFile, FileName); {назначаем его, это достаточно один сеанс} {уведомляем пользователя ...} WriteLn ('Назначение ок.');  {создать файл ...} ReWrite (PhraseFile); {открыть для записи} {записать указанные выше слова в этот файл} For i: = 0–9 Do Begin WriteLn (PhraseFile, TheWords [i]);  Конец;  WriteLn ('Запись из массива ок.');  WriteLn ('Попытка записи из текстового файла в массив.');  WriteLn ('Если вы видите список, значит, процесс прошел успешно.');  WriteLn;  FileRead (PhraseFile, PhraseArray, Счетчик);  {вызов нашей процедуры} WriteLn;  Close (PhraseFile); {закрытие файла перед концом основной программы} WriteLn ('Нажмите Enter, чтобы выйти ...');  ReadLn; End. {End of main} {- = Создано и исправлено FlamingClaw = - = 2009.04.26 = -}  


Спасибо за ответ, который очень помог!
Но есть одна проблема; Я пробовал использовать ваш код, но вместо того, чтобы писать в txt-файл, а затем в массив, я просто попытался прочитать прямо из txt-файла в массив, но кажется, что он удаляет все в txt-файле, и массив снова выходит пустым, я наверняка просмотрел что-то маленькое, не понимаете, что я сделал не так?


Спасибо за ответ, он очень помог!
Но есть одна проблема; Я пробовал использовать ваш код, но вместо того, чтобы писать в txt-файл, а затем в массив, я просто попытался прочитать прямо из txt-файла в массив, но кажется, что он удаляет все в txt-файле, и массив снова выходит пустым, я Наверное, просмотрел что-то маленькое, есть идеи, что я сделал не так?


Сначала нам нужен текстовый файл и его содержимое
, а затем нам нужен массив для считывания содержимого текстового файла
одно слово на одну строку
Если у вас есть текстовый файл, то
Конечно, ваш файл не может быть пустым

  Процедура FileReadInToArray; Var  data: array [1..10] of String; {ваш массив} F: Text; FileName = String; Lines: String; Counter: Integer; BeginFileName: = 'C:  yourfile.txt'; Assign (F, FileName)  ; {$ I-} Reset (F); {$ I +} If (IoResult = 0) Then Begin Counter: = 1; While Not (EoF (F)) Do Begin ReadLn (F, Lines); Data [Counter]:  = Строки; Если (EoF (F)) Then Break; Inc (Счетчик); {увеличьте 'Counter' на 1} End; {of while} EndElse WriteLn ('Ошибка при чтении файла'); Close (F); End  ;  

с этим есть еще одна проблема, содержимое ‘Data’ живет только внутри процедуры, и когда процедура завершается, ее переменные также завершают свою работу ….: ‘(и они исчезают s …..

  Программа Solution01; Использует Crt; Var i: Byte; Процедура FileReadInToArray; Var data: array [1..10] of String; {ваш массив  } F: текст;  FileName: String;  Линии: строка;  Счетчик: Integer; BeginFileName: = 'C:  yourfile.txt'; Assign (F, FileName); {$ I-} Reset (F); {$ I +} If (IoResult = 0) Then Begin Counter: = 1;  Пока нет (EoF (F)) Не начинать ReadLn (F, Lines);  Данные [Счетчик]: = Строки;  Если (EoF (F)) Then Break;  Inc (Counter); {увеличить "Counter" на 1} End;  {of while} EndElse WriteLn ('Ошибка при чтении файла'); Close (F); End; Begin {main} FileReadInToArray;  Для i: = от 1 до 10 Выполните WriteLn (Data [i]);  ReadLn; End. {End of main}  

Когда вы запустите эту программу, она остановит сообщение об ошибке
Локальная переменная ‘Data’ назначается, но не найдена … .


Сначала нам понадобится текстовый файл и его содержимое
, а затем нам понадобится массив для чтения в содержимое текстового файла
одно слово в одну строку
Если у вас есть текстовый файл, то
Of конечно, ваш файл не может быть пустым

  Процедура FileReadInToArray; Var data: array [1..10] of String; {ваш массив} F: Text;  FileName = String;  Линии: строка;  Счетчик: Integer; BeginFileName: = 'C:  yourfile.txt'; Assign (F, FileName); {$ I-} Reset (F); {$ I +} If (IoResult = 0) Then Begin Counter: = 1;  Пока нет (EoF (F)) Не начинать ReadLn (F, Lines);  Данные [Счетчик]: = Строки;  Если (EoF (F)) Then Break;  Inc (Counter); {увеличить "Counter" на 1} End;  {of while} EndElse WriteLn ('Ошибка при чтении файла'); Close (F); End;  

с этим есть еще одна проблема, содержимое ‘Data’ live только внутри процедуры, и когда процедура завершается, ее переменные тоже заканчивают свою работу ….: ‘(и они исчезают …..

  Program Solution01; Использует  Crt; Var i: Byte; Процедура FileReadInToArray; Var data: array [1.. 10] of String; {ваш массив} F: Text;  FileName: String;  Линии: строка;  Счетчик: Integer; BeginFileName: = 'C:  yourfile.txt'; Assign (F, FileName); {$ I-} Reset (F); {$ I +} If (IoResult = 0) Then Begin Counter: = 1;  Пока нет (EoF (F)) Не начинать ReadLn (F, Lines);  Данные [Счетчик]: = Строки;  Если (EoF (F)) Then Break;  Inc (Counter); {увеличить "Counter" на 1} End;  {of while} EndElse WriteLn ('Ошибка при чтении файла'); Close (F); End; Begin {main} FileReadInToArray;  Для i: = от 1 до 10 Выполните WriteLn (Data [i]);  ReadLn; End. {End of main}  

Когда вы запустите эту программу, она остановит сообщение об ошибке
Локальная переменная ‘Data’ назначается, но не найдена … .


Но если мы разместим переменные в нужном месте, тогда

  Программа Solution01; Использует Crt; Var i: Byte;  data: array [1..10] of String; {ваш массив} F: Text;  FileName: String;  Линии: строка;  Счетчик: Целое число; Процедура FileReadInToArray; BeginFileName: = 'C:  yourfile.txt'; Assign (F, FileName); {$ I-} Reset (F); {$ I +} If (IoResult = 0) Then Begin Counter:  = 1;  Пока нет (EoF (F)) Не начинать ReadLn (F, Lines);  Данные [Счетчик]: = Строки;  Если (EoF (F)) Then Break;  Inc (Counter); {увеличить "Counter" на 1} End;  {of while} EndElse WriteLn ('Ошибка при чтении файла'); Close (F); End; Begin {main} FileReadInToArray;  Для i: = от 1 до 10 Выполните WriteLn (Data [i]);  ReadLn; End. {End of main}  

Теперь все работает хорошо: D, понял?


Но если мы разместим переменные в нужном месте, тогда

  Программа Solution01; Использует Crt; Var i: Byte;  data: array [1..10] of String; {ваш массив} F: Text;  FileName: String;  Линии: строка;  Счетчик: Целое число; Процедура FileReadInToArray; BeginFileName: = 'C:  yourfile.txt'; Assign (F, FileName); {$ I-} Reset (F); {$ I +} If (IoResult = 0) Then Begin Counter:  = 1;  Пока нет (EoF (F)) Не начинать ReadLn (F, Lines);  Данные [Счетчик]: = Строки;  Если (EoF (F)) Then Break;  Inc (Counter); {увеличить "Counter" на 1} End;  {of while} EndElse WriteLn ('Ошибка при чтении файла'); Close (F); End; Begin {main} FileReadInToArray;  Для i: = от 1 до 10 Выполните WriteLn (Data [i]);  ReadLn; End. {End of main}  

Теперь все работает хорошо: D, понял?


Ага, все заработало, большое спасибо! 🙂


Ага, все заработало, большое спасибо! 🙂


Я думаю, что сдам этот экзамен! Для вычислений AS. 🙂 Я пытаюсь пройти эта проблема. Я очень запутался!


Я думаю, что сдам этот экзамен! Для вычислений AS. 🙂 Я пытаюсь решить эту проблему. использовано!


Да, это меня тоже смутило, хотя это очень помогло, я можете опубликовать код, который я использую, если хотите?


Да, это меня тоже смутило, хотя это очень помогло, я могу опубликовать код, который использую, если хотите?

Оцените статью
logicle.ru
Добавить комментарий