Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 05.10.2017
Сообщений: 53
Delphi 6-7

Нужно чтобы цифры не выводились в консоль, как это реализовать?

26.06.2018, 12:54. Показов 900. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
program Project1;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils,
  Windows;
 
type
  //Сведения о слове.
  TWord = record
    //Само слово.
    SWord : String;
    //Количество обнаружений слова в тексте.
    Cnt : Integer;
  end;
  //Хранилище уникальных слов.
  TVault = record
    //Количество слов в хранилище. - Количество значимых элементов массива.
    Len : Integer;
    //Массив сведений о словах. Длина этого массива
    //может быть большей или равной Len.
    Arr : array of TWord;
  end;
 
//Добавляет слово в массив хранилища Vault. При этом, если добавляемое
//слово уже присутствует в массиве, тогда счётчик этого слова увеличивается
//на единицу. Если добавляемое слово пока не присутствует в массиве, тогда
//это слово записывается в массив и его счётчик устанавливается равным единице.
procedure AddToVault(var aVault : TVault; const aWord : String);
const
  //Величина приращения длины массива.
  Capacity = 20;
var
  i : Integer;
begin
  with aVault do begin
    //Просматриваем массив - проверяем,
    //есть ли уже в нём такое слово.
    i := 0;
    while i < Len do begin
      //Если такое же слово найдено, то увеличиваем
      //его счётчик на единицу и выходим из цикла.
      if Arr[i].SWord = aWord then begin
        Inc( Arr[i].Cnt );
        Break;
      end;
      Inc(i);
    end;
    //Если в предыдущем цикле слово не найдено, то при выходе
    //из цикла будем иметь равенство i = Len. В этом случае
    //добавляем слово в массив и устанавливаем счётчик этого
    //слова равным единице. Индекс добавляемого слова,
    //равен i.
    if i = Len then begin
      //Если количество значимых элементов массива в настоящий момент
      //равно длине массива, это означает, что в массиве нет места
      //для добавления нового элемента. Поэтому, в этом случае,
      //наращиваем длину массива. Длину массива увеличиваем
      //на велечину Capacity.
      if Len = Length(Arr) then
        SetLength(Arr, Len + Capacity)
      ;
      //Так как мы добавляем в массив новое слово, то количество значимых
      //элементов массива становится на единицу больше.
      Inc(Len);
      //Записываем в массив данные нового элемента (слова).
      Arr[i].SWord := aWord;
      Arr[i].Cnt := 1;
    end;
  end;
end;
 
const
  //Разделители слов.
  D = ['.', ',', ':', ';', '!', '?', '-', ' ', #9, #10, #13];
var
  S, SWord : String;
  i, Pos1, Len : Integer;
  Vault : TVault;
begin
  //Переключение консоли на кодовую страницу CP1251 (Win-1251).
  //Если после переключения русские буквы показываются неверно, следует
  //открыть системное меню консольного окна - слева вверху окна консоли.
  //И выбрать: Свойства - закладка "Шрифт" - выбрать шрифт: "Lucida Console".
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
 
  repeat
    Writeln('Введите текст:');
    Readln(S);
 
    Vault.Len := 0;
 
    //Извлекаем слова и добавляем их в хранилище Vault.
    //Добавление слов в хранилище Vault производится через процедуру AddToVault().
    //Эта процедура спроектирована так, что при записи формируется массив
    //уникальных слов со сведениями о количестве обнаружений каждого слова.
    Len := Length(S);
    Pos1 := 0;
    for i := 1 to Len do begin
      //Пропускаем разделители.
      if S[i] in D then Continue;
      //Отслеживаем начало слова.
      if (i = 1) or (S[i - 1] in D) then Pos1 := i;
      //Отслеживаем конец слова.
      if (i = Len) or (S[i + 1] in D) then begin
        //Добавляем слово в массив.
        SWord := AnsiUpperCase( Copy(S, Pos1, i - Pos1 + 1) );
        AddToVault( Vault, SWord );
      end;
    end;
 
    Writeln('Перечень слов которые присутствуют по одному разу:');
    for i := 0 to Vault.Len - 1 do
      if Vault.Arr[i].Cnt = 1 then
        Writeln( Vault.Arr[i].SWord )
    ;
    //Удаляем из памяти массив слов.
    Finalize(Vault.Arr);
    Vault.Len := 0;
 
    Writeln('Повторить - Enter. Выход - любой символ + Enter.');
    Readln(S);
  until S <> '';
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.06.2018, 12:54
Ответы с готовыми решениями:

Нужно чтобы программа работала под Win7 64bit. Как это реализовать?
Нужно написать программу, которая будет каждые 30 сек считывать данные из файла и выводить их на форму. Сама прога простая, но нужно чтобы...

Нужно чтобы при вводе даты рождения, возраст определялся автоматически. Как это реализовать?
Поля дата рождения и возраст находятся в одной таблице.

Как сделать так чтобы при нажатии клавиш выводились цифры на рисунке?
Здравствуйте, дорогие читатели! У нас в этой четверти идет проект по информатике и нам нужно создать собственную программу в паскале, так...

7
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
26.06.2018, 12:59
чтобы цифры не выводились в консоль
Это что и как?
0
0 / 0 / 1
Регистрация: 05.10.2017
Сообщений: 53
26.06.2018, 19:29  [ТС]
Чтобы вводились только буквы от [А-Я],а цифры - нет
0
5944 / 4520 / 1094
Регистрация: 29.08.2013
Сообщений: 28,099
Записей в блоге: 3
26.06.2018, 19:38
Цитата Сообщение от LuckyVadim Посмотреть сообщение
а цифры - нет
данные то выводишь ты сам
не хочешь выводить цифры - не выводи
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
26.06.2018, 19:38
Откуда выводились? Может чтоб не вводились?
0
0 / 0 / 1
Регистрация: 05.10.2017
Сообщений: 53
26.06.2018, 19:56  [ТС]
Чтобы при вводе в консоль, цифры не вводились
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
26.06.2018, 20:13
Ну наконец-то дошло что ввод и вывод это не одно и тоже.
В консоли Делфи нет такого действия как readkey в Паскале и KeyPress в оконном приложении Делфи.

Добавлено через 13 минут
Есть такой модуль CRT32 для консоли Делфи, там можно делать подобное. Вот пример.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
uses
  SysUtils,Crt32;
 
var s:string;
    c:char;
begin
s:='';
repeat
c:=readkey;
if c in ['A'..'Z','a'..'z'] then
 begin
  write(c);
  s:=s+c;
 end;
if c=#13 then writeln;
until c=#13;
writeln(s);
readln;
end.
Модуль можно скачать здесь.
Выводить рядом с начальной матрицей мин и мах
0
Модератор
 Аватар для D1973
9902 / 6440 / 2454
Регистрация: 21.01.2014
Сообщений: 27,337
Записей в блоге: 3
27.06.2018, 04:36
LuckyVadim, ох, что-то накручено там, не пойми чего... У Вас задание какое? Узнать количество вхождений каждого слова в тексте?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.06.2018, 04:36
Помогаю со студенческими работами здесь

Нужно, чтобы введенные теги выводились как текст
Есть поле в которое вводят текст. Необходимо сделать так чтобы если в поля вводят теги типа: &lt;h1&gt;Привет&lt;/h1&gt;, Они бы точно...

Нужно чтобы заголовки столбцов выводились не как переменные, а по-другому
Проблема такая. В MySQL заголовки стобцов имеют названия типа dissolved_oxygen, а нужно чтобы было Dissolved Oxygen отдельно и с переносом....

Нужно привести это уравнение к дифференциальной форме, чтобы реализовать его в блоке DEE
Как это уравнение привести к д.у. ? С реализацией обычных д.у. в блоке Dee знаком хорошо, но вот тут совсем другое. Помогите пожалуйста. ...

Нужно, чтобы данные из DataGrid выводились в ReportViewer
Привет всем! Пожалуйста, помогите,с моей проблемой... Мучаюсь уже целый день. Заранее скажу, что поиском пользовался, но толком ничего не...

Нужно, чтобы все элементы стека выводились на экран
Исправьте пожалуйста!) Нужно, чтобы все элементы стека выводились на экран. namespace ConsoleApplication1 { class Program ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru