![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
поиск в блакноте [D7]
naraki © (2005-08-20 02:11:00)друзя,нужен помощь!
нужно написать прогу делаюший следуйшие:
на ComboBox пишите имя школьника, и прога ишет это имя среди всех имен которые заране написаны на файле под именем name.txt. если найдет то при щелчке пусть загружет инфо с файла tima.txt
naraki (2005-08-21 02:20:00) [1]KilkennyCat
иди научись уважать других, не стоит писать тут всякую болтавню!
KilkennyCat (2005-08-21 01:36:00) [2]Шахматы? :)
naraki (2005-08-21 01:21:00) [3]спасибо большое!
а вот тебе исходник VB,как обешал :)
Private Sub Combo1_Click()
Dim sItem As String
Text1.Text = ""
sItem = (Combo1.List(Combo1.ListIndex))
OpenReadFile (sItem)
End Sub
Private Sub OpenReadFile(ByVal lFile As String)
On Error GoTo Errorhandler
Dim sStr, globalSTR As String
Open App.Path & "\" & lFile & ".txt" For Input As #1
Do While Not EOF(1)
Line Input #1, sStr
Text1.Text = Text1.Text & sStr
Loop
Close (1)
Exit Sub
Errorhandler:
MsgBox "???????? ? ?????????? ???? ?????", vbCritical, "????????"
Exit Sub
End Sub
Private Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer)
SendMessage Combo1.hwnd, CB_SHOWDROPDOWN, 1, 0
End Sub
Private Sub Form_Load()
Dim letter As String
Open App.Path & "\name.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, letter
Combo1.AddItem letter
Loop
Close
Combo1.Text = ""
'Flag = False
End Sub
Defunct (2005-08-20 20:19:00) [4]KilkennyCat © (20.08.05 18:50) [10]
Двоечники :)
Defunct (2005-08-20 19:02:00) [5]эх.. в такой простой программе допустил пару ошибок.. ;>
Вместо всех LowerCase поставьте AnsiLowerCase!
и в строке
ComboBox1.Items.LoadFromFile('name.txt')
должно быть:
ComboBox1.Items.LoadFromFile( fnNames)
Жду обещанного варианта на VB ;)
KilkennyCat (2005-08-20 18:50:00) [6]школьники :)
Defunct (2005-08-20 18:48:00) [7]А это пример файлов с которыми программа работает:
name.txt:
Шевченко Игорь
Зотов Юрий
Петров Петр
Иванов Андрей
Сидоров Иван
Пупкин Василий
tima.txt:
Шевченко Игорь
Дата рождения: 11.09.1961 знак зодиака: Дева
Город: Москва
Пол: Мужской
Образование: высшее
Увлечения / хобби
Программирование :)
Интересное о себе
Зотов Юрий
Дата рождения: 24.06.1954 знак зодиака: Рак
Город: Москва
Пол: Мужской
Образование: высшее
Петров Петр
Дата рождения: 27.12.1994 знак зодиака: Козерог
Город: Москва
Пол: Мужской
Образование: нет образования
Иванов Андрей
нет данных
Сидоров Иван
лениво выдумывать
Пупкин Василий
Народный герой
Defunct (2005-08-20 18:46:00) [8]Вот и обещанная программка:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
const
fnNames = 'name.txt';
fnInfo = 'tima.txt';
type
TForm1 = class(TForm)
ComboBox1: TComboBox;
Label1: TLabel;
Memo1: TMemo;
Label2: TLabel;
procedure FormCreate(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
public
procedure LoadInfoForName(const AName : String );
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
const NL = #13+#10;
procedure TForm1.FormCreate(Sender: TObject);
begin
ComboBox1.AutoDropDown := True;
if FileExists( fnNames ) then
ComboBox1.Items.LoadFromFile('name.txt')
{$ifndef debug}
else
begin
ShowMessage(
'не удалось найти файл с именами: '+fnNames+NL +
'программа будет закрыта' );
Halt( 0 )
end
{$endif}
end;
procedure TForm1.LoadInfoForName;
var
F : TextFile;
S : String;
begin
Memo1.Lines.Clear;
if not FileExists( fnInfo ) then
begin
Memo1.Lines.Text := 'нет файла с информацией';
exit
end;
AssignFile( F, fnInfo );
Reset( F );
try
while not Eof(F) do
begin
ReadLn( F, S);
if LowerCase(S) = AName then // считываем информацию в memo
begin
while (not Eof(F)) and (S <> '') do
begin
ReadLn(F, S);
Memo1.Lines.Add( S )
end;
exit;
end;
end;
finally
CloseFile( F );
end;
end;
procedure TForm1.ComboBox1Change(Sender: TObject);
var
i : integer;
begin
with TComboBox( Sender ) do
begin
for i := 0 to Items.Count - 1 do
if LowerCase(Text) = LowerCase(Items.Strings[i]) then
begin
LoadInfoForName( LowerCase(Text) );
break
end;
end;
end;
end.
Dfm к ней (unit1.dfm):
object Form1: TForm1
Left = 325
Top = 322
BorderStyle = bsDialog
Caption = 'Form1'
ClientHeight = 390
ClientWidth = 476
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
object Label1: TLabel
Left = 16
Top = 8
Width = 25
Height = 13
Caption = 'Имя:'
end
object Label2: TLabel
Left = 16
Top = 64
Width = 69
Height = 13
Caption = 'Информация:'
end
object ComboBox1: TComboBox
Left = 16
Top = 24
Width = 177
Height = 21
ItemHeight = 13
TabOrder = 0
OnChange = ComboBox1Change
end
object Memo1: TMemo
Left = 16
Top = 80
Width = 449
Height = 297
Lines.Strings = (
'Memo1')
TabOrder = 1
end
end
Defunct (2005-08-20 16:53:00) [9]> взамен я вам напишу это на VB :)
Согласен ;>
Постараюсь к вечеру сделать.
KilkennyCat (2005-08-20 15:41:00) [10]я могу разъяснить эту задачу, только вот не понимаю: если Вы можете реализовать это на VB, то что непонятного в реализации в Delphi?
Eraser (2005-08-20 15:02:00) [11]naraki (20.08.05 02:11)
взамен я вам напишу это на VB :)
Тоже в бл акноте? )
DrPass (2005-08-20 14:47:00) [12]На форуме помочь могут. Но нужно хотя бы рассказать, что именно не получается - и тебе подскажут, как это сделать. А уже делать ты будешь сам, уж извини. Просьбы вроде "напишите мне программу, которая бы ..." в лучшем случае просто игнорируются.
naraki (2005-08-20 14:11:00) [13]взамен я вам напишу это на VB :)
я не разбераюсь в Delphi, мне сказали что на этом форуме мне смогут помочь, с этой надеждой я и пришол сюда.
DrPass (2005-08-20 02:45:00) [14]
> naraki (20.08.05 02:11)
Что именно тебе непонялно?
> Defunct © (20.08.05 02:25) [1]
Меньше $1000 не соглашайся
Defunct (2005-08-20 02:25:00) [15]naraki (20.08.05 02:11)
:)
ну и что предлагаешь взамен?