Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Lazarus, Free Pascal, CodeTyphon
Регистрация

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 17.02.2019, 15:56   #1
sashakor22
 
Регистрация: 17.08.2018
Сообщений: 4
Репутация: 10
По умолчанию [РЕШЕНО] ошибка в цикле "repeat.until" Fatal: Syntax error, "UNTIL" expected but "(" found.

Решение: http://www.programmersforum.ru/showt...38#post1770240

Компилятор жалуется на 71 строчку: поиск букв.pas(71,12) Fatal: Syntax error, "UNTIL" expected but "(" found.
Вот код:
Код:

uses 
LazUTF8,SysUtils,ListOperations;
type TSim = record
	num,count:int64;
	end;
type TArrLang = record
	LnS:array [1..40] of TSim; 
	end;
var
f,f_out:text;
Lang: array [1..10] of TArrLang;
title:array [1..10] of string[2];
ident:array [1..10] of integer;
name,r,r1,rez:string;
i,j,q,find,m,k,ans:integer;
L:TWordList;
s:WideString;
CharLen:longint;
p:PChar;
unicode:cardinal;
sum:int64;
more:extended;

begin
	title[1]:='be'; title[2]:='de'; title[3]:='en'; title[4]:='fr'; title[5]:='hy'; 
	title[6]:='it'; title[7]:='ka'; title[8]:='ru'; title[9]:='sv'; title[10]:='uk'; 
	name:='v1/be.txt';
	for i:=1 to 10 do 
	begin	
		delete(name,4,2);
		insert(title[i],name,4);
		assign(f,name);
		reset(f);
		m:=0;
		while not eof(f) do 
		begin
			m+=1;
			readln(f,r);
			find:=pos(': ',r);
			r1:='';
			for j:=1 to find-1 do
				r1+=r[j];
			Lang[i].LnS[m].num:=StrToInt(r1);
			r1:='';
			for j:=find+2 to length(r) do
				r1+=r[j];
			Lang[i].LnS[m].count:=StrToInt(r1);
		end;		
		close(f);
	end;
	name:='1.txt';
	m:=1;
	assign(f_out,'output.txt');
	rewrite(f_out);
	for i:=1 to 30 do 
	begin
		SetLength(L.data,0);
		L.size:=0;
		delete(name,1,m);
		m:=length(IntToStr(i));
		insert(IntToStr(i),name,1);
		assign(f,name);
		reset(f);
		while not eof(f) do
		begin
			readln(f,s);
			p:=PChar(s);
			repeat
				unicode:=UTF8CharacterToUnicode(p,CharLen);
				rez:=IntToStr(unicode);
				k:=Find(L,rez);
				if k>=0 then
					Inc(L.data[k].count)
				else begin
					k:=FindPlace(L,rez);
					InsertWord(L,k,rez);
				end;
				inc(p,CharLen)
			until (CharLen=0) or (unicode=0);
		end;
		close(f);
		sum:=0;
		for j:= 0 to L.size do
			sum+=L.data[j].count;
		more:=(sum/(100*L.size))*60;
		for q:=1 to 10 do 
		begin
			ident[q]:=0;
			for j:=0 to L.size-1 do
				if (L.data[j].count > more) and (L.data[j].word = Lang[q].LnS[].num) then
						ident[q]+=1;
		end;
		q:=-1;
		ans:=-1;
		for j:=1 to 10 do
			if ident[j]>q then 
			begin
				q:=ident[j];
				ans:=j;
			end;
		writeln(f_out,title[ans]);
	end;
	close(f_out);
end.

Компилятор free pascal 3.0.4, операционная система Ubuntu 18.04.1 LTS.

Последний раз редактировалось Вадим Мошев; 18.02.2019 в 17:33.
sashakor22 вне форума   Ответить с цитированием
Старый 17.02.2019, 16:25   #2
sashakor22
 
Регистрация: 17.08.2018
Сообщений: 4
Репутация: 10
По умолчанию

Решено. Find описана в 15-ой строке как переменная типа Integer, в 71-ой строке идет попытка обращения к ней, как к функции. И ещё пару недочётов.

Последний раз редактировалось sashakor22; 17.02.2019 в 16:37.
sashakor22 вне форума   Ответить с цитированием
Ответ

Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
unit1.pas(44,1) Fatal Syntax Error "." expected but "BEGIN" found Maksym Yevtusenko Помощь студентам 1 25.04.2018 19:59
[РЕШЕНО] Возникал ошибка: «')' expected but ';' found», помогите, я - новичок IlyaHistorik Помощь студентам 2 17.10.2017 22:04
lazarus, выдёт ошибку, Fatal: Syntax error, "BEGIN" expected but "end of file" found. Артём14 Lazarus, Free Pascal, CodeTyphon 3 12.11.2016 19:35
[РЕШЕНО] Помогите в чем может быть ошибка? Ошибка ';' expected but 'BEGIN' found АлександрDelphi Общие вопросы Delphi 7 06.03.2016 20:25
Игра Скачки! Выдает ошибку: [Linker Fatal Error] Fatal: Expected a file name: SEV7 Общие вопросы C/C++ 0 19.05.2012 00:56


03:12.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru