Текущий архив: 2005.10.02;
Скачать: CL | DM;
Вниз
поиск в блакноте Найти похожие ветки
← →
naraki (2005-08-20 02:11) [0]друзя,нужен помощь!
нужно написать прогу делаюший следуйшие:
на ComboBox пишите имя школьника, и прога ишет это имя среди всех имен которые заране написаны на файле под именем name.txt. если найдет то при щелчке пусть загружет инфо с файла tima.txt
← →
Defunct © (2005-08-20 02:25) [1]naraki (20.08.05 02:11)
:)
ну и что предлагаешь взамен?
← →
DrPass © (2005-08-20 02:45) [2]
> naraki (20.08.05 02:11)
Что именно тебе непонялно?
> Defunct © (20.08.05 02:25) [1]
Меньше $1000 не соглашайся
← →
naraki (2005-08-20 14:11) [3]взамен я вам напишу это на VB :)
я не разбераюсь в Delphi, мне сказали что на этом форуме мне смогут помочь, с этой надеждой я и пришол сюда.
← →
DrPass © (2005-08-20 14:47) [4]На форуме помочь могут. Но нужно хотя бы рассказать, что именно не получается - и тебе подскажут, как это сделать. А уже делать ты будешь сам, уж извини. Просьбы вроде "напишите мне программу, которая бы ..." в лучшем случае просто игнорируются.
← →
Eraser © (2005-08-20 15:02) [5]naraki (20.08.05 02:11)
взамен я вам напишу это на VB :)
Тоже в блакноте? )
← →
KilkennyCat © (2005-08-20 15:41) [6]я могу разъяснить эту задачу, только вот не понимаю: если Вы можете реализовать это на VB, то что непонятного в реализации в Delphi?
← →
Defunct © (2005-08-20 16:53) [7]> взамен я вам напишу это на VB :)
Согласен ;>
Постараюсь к вечеру сделать.
← →
Defunct © (2005-08-20 18:46) [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 18:48) [9]А это пример файлов с которыми программа работает:
name.txt:Шевченко Игорь
Зотов Юрий
Петров Петр
Иванов Андрей
Сидоров Иван
Пупкин Василий
tima.txt:Шевченко Игорь
Дата рождения: 11.09.1961 знак зодиака: Дева
Город: Москва
Пол: Мужской
Образование: высшее
Увлечения / хобби
Программирование :)
Интересное о себе
Зотов Юрий
Дата рождения: 24.06.1954 знак зодиака: Рак
Город: Москва
Пол: Мужской
Образование: высшее
Петров Петр
Дата рождения: 27.12.1994 знак зодиака: Козерог
Город: Москва
Пол: Мужской
Образование: нет образования
Иванов Андрей
нет данных
Сидоров Иван
лениво выдумывать
Пупкин Василий
Народный герой
← →
KilkennyCat © (2005-08-20 18:50) [10]школьники :)
← →
Defunct © (2005-08-20 19:02) [11]эх.. в такой простой программе допустил пару ошибок.. ;>
Вместо всех LowerCase поставьте AnsiLowerCase !
и в строке
ComboBox1.Items.LoadFromFile("name.txt")
должно быть:
ComboBox1.Items.LoadFromFile( fnNames )
Жду обещанного варианта на VB ;)
← →
Defunct © (2005-08-20 20:19) [12]KilkennyCat © (20.08.05 18:50) [10]
Двоечники :)
← →
naraki (2005-08-21 01:21) [13]спасибо большое!
а вот тебе исходник 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
← →
KilkennyCat © (2005-08-21 01:36) [14]Шахматы? :)
← →
naraki (2005-08-21 02:20) [15]KilkennyCat
иди научись уважать других, не стоит писать тут всякую болтавню!
Страницы: 1 вся ветка
Текущий архив: 2005.10.02;
Скачать: CL | DM;
Память: 0.51 MB
Время: 0.043 c