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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2014, 08:17   #1
hasanovaaygerim
Пользователь
 
Регистрация: 20.11.2013
Сообщений: 21
По умолчанию Сделать кнопку редактирования слов на языке Delphi

Уважаемые программисты! Помогите сделать кнопку редактирования слов для словаря переводческого! нужно установить кнопку редакция, чтобы те слова которые у меня содержатся в словаре, с помощью этой кнопки можно было бы изменить и сохранить.
привожу исходные код того,что есть у меня сейчас
Код:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;

    Edit1: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    ListBox1: TListBox;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure ListBox1Click(Sender: TObject);

  private
    { private declarations }
  public
    { public declarations }
  end;

var
    Form1: TForm1;
  NovSlovo, NovPerevod: String;
  i, p, j, h1, h2: integer;


implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
 ListBox1.Items.LoadFromFile('Slovar.txt');
j:=-1;
h1:=ListBox1.Items.Count;

end;

procedure TForm1.ListBox1Click(Sender: TObject);
begin
  Memo1.Lines.Clear;
Memo1.Lines.Add(ListBox1.Items[ListBox1.ItemIndex]);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
    NovPerevod:=' ';
    NovSlovo:=' ';
    i:=-1;
  While i<Memo1.Lines.Count Do
   begin
   i:=i+1;
   end;
  NovSlovo:=Edit1.text+'-'+NovPerevod;
  ListBox1.Items.Add(NovSlovo);

end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  Edit1.clear;
Memo1.Lines.Clear;
j:=-1;
  Edit1.clear;

end;

procedure TForm1.Button4Click(Sender: TObject);
begin

              //это то, что не могу сделать
end;


procedure TForm1.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
  h2:=ListBox1.Items.Count;
 if h2>h1 then
  begin
   if MessageDlg('Жаңы сөздөр киргизилди. Сактайлыбы?', mtConfirmation, [mbYes, mbNo], 0) = mrYes
    then
     begin
      ListBox1.Items.SaveToFile('Slovar.txt');
      ShowMessage('Сөздөр сакталды');
    end;
   end;

end;

procedure TForm1.Button1Click(Sender: TObject);

  begin
  While j<ListBox1.Items.Count-1 Do
   begin
    j:=j+1;
    p:=Pos(Edit1.Text, ListBox1.Items[j]);
     if p>0 then
      begin
       Memo1.Lines.Clear;
       Memo1.Lines.Add(ListBox1.Items[j]);
       break;
      end;
     if j=ListBox1.Items.Count-1 then
      begin
       if p=0 then
        ShowMessage('Сөздүктө мындай сөз жок');
         end;
     end;

ListBox1.ItemIndex:=J;

 end;
end.
Спасибо заранее, очень надеюсь на вашу помощь!
hasanovaaygerim вне форума Ответить с цитированием
Старый 16.02.2014, 12:16   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var s:string;
begin
 with ListBox1 do begin
  if ItemIndex<>-1 then s:=Items[ItemIndex];
  if InputQuery('Слово',s,s) then begin
    Items[ItemIndex]:=s;
  end;
 end;
end;
Это если я правильно понял где у тя словарь сидит.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.02.2014, 07:13   #3
hasanovaaygerim
Пользователь
 
Регистрация: 20.11.2013
Сообщений: 21
По умолчанию

Выводит ошибку
unit1.pas(98,1) Error: Illegal expression
unit1.pas(98,11) Fatal: Syntax error, ";" expected but "identifier TFORM1" found
hasanovaaygerim вне форума Ответить с цитированием
Старый 17.02.2014, 09:15   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

У-у-у... Переустанавливай Делфи )
Fatal это печально совсем ))
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.02.2014, 10:29   #5
hasanovaaygerim
Пользователь
 
Регистрация: 20.11.2013
Сообщений: 21
По умолчанию

Я на Лазариусе делаю...его переустановить?
переустановила
только опять та же ошибка, это ошибка указывается на TForm1.FormClose

Последний раз редактировалось hasanovaaygerim; 17.02.2014 в 10:40.
hasanovaaygerim вне форума Ответить с цитированием
Старый 17.02.2014, 10:55   #6
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Горе, горе без ума...

Вы хоть прочитали, ЧТО Вам говорит ошибка? Перевожу:
Код:
Ошибка синтаксиса. Ожидалось ";", но обнаружен "identifier TFORM1"
Еще проще: где точку с запятой потеряли?
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 17.02.2014, 11:30   #7
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
У-у-у... Переустанавливай Делфи )
Fatal это печально совсем ))
Виталий, ты жесток. Не у всех есть чувство юмора

hasanovaaygerim, ошибку Вам уже перевели, добавлю: если кликнуть два раза по надписи с ошибкой - редактор перейдет на строку, где эта ошибка выскакивает.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 17.02.2014, 12:55   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Виталий, ты жесток. Не у всех есть чувство юмора
Извините, психанул.
Цитата:
только опять та же ошибка, это ошибка указывается на TForm1.FormClose
Проблема в том что ты вставляешь предложенный код прямо в исходник. Это в старых паскалях бы прокатило. Ни в Делфи ни в Лазарусе такой финт не канает. Код нужно вписывать в событие. Событие нужно назначить кнопке. Кнопку нужно кинуть на форму. Если ты не знаешь этого, то тебе еще рано писать что-то. Нужно изучить как настраиваются события для компонентов. Просто потому что дальнейшие любые обьяснения и примеры кода просто приведут к той же ошибке из-за того, что ты не знаешь как правильно воспользоваться кодом.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать форму редактирования введенного текста?? Владимир Павлович JavaScript, Ajax 1 29.07.2011 11:30
Как лучше сделать форму редактирования таблицы ? Allan Stark Microsoft Office Access 15 09.02.2011 22:30
Сделать dataGridVIew доступным для редактирования)) vedro-compota Общие вопросы .NET 12 16.01.2011 19:45
Как сделать некоторые ячейки невозможными для редактирования? Гошик Microsoft Office Excel 2 27.11.2010 17:31
Может сделать возможность редактирования первого поста? Вадим Буренков О форуме и сайтах клуба 0 02.08.2009 17:14