Crytach Daiguren Ответов: 1

Привет всем, у меня есть запрос о программировании delphi, не говорите мне, что он устарел, потому что я знаю, что это школьный проект?


мой код выглядит так.


procedure TForm1.BtnSearchClick(Sender: TObject); 
var 
sStudent :String; 
begin 
sStudent:=EdtSearch.Text; 
RDisp.Lines.LoadFromFile('Students\ ' +sStudent+ '.txt'); 
if sStudent<>' ' 
then 
begin 
Application.MessageBox('No data has been inputed. Please Input a name to search','Error no information to search',0); 
end; 
end; 


в основном мне нужен sStudent(который является Tedit) для поиска имени студента, если Tedit пуст, он должен показать ошибку ("данные не были введены. Пожалуйста, введите имя для поиска") и так далее, то, что я получаю, это messagebox, даже несмотря на то, что rich edit вытащил информацию

Что я уже пробовал:

Я перепробовал все, но даже несмотря на то, что у нас были обширные занятия по этому вопросу, я все еще не могу найти его... скорее всего, он прямо у меня под носом, и я слишком слеп, чтобы его увидеть.

1 Ответов

Рейтинг:
12

Richard Deeming

Я не прикасался к Дельфи уже много лет, но я бы предположил, что if sStudent <> ' ' выполнит все внутри if блок если не текстовое поле содержит один пробел. Поэтому, если вы оставите его пустым или введете что-либо, кроме одного пробела, сообщение будет показано.

Вы, вероятно, также хотите переместить LoadFromFile линия в else блок, и вам может потребоваться удалить начальный пробел из имени файла, в зависимости от того, как вы назвали файлы.

sStudent := EdtSearch.Text; 

if sStudent = '' 
then 
begin 
    Application.MessageBox('No data has been inputed. Please Input a name to search', 'Error no information to search', 0); 
end
else
begin
    RDisp.Lines.LoadFromFile('Students\' + sStudent + '.txt'); 
end;