Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Шифрование текста C#

56K
09 октября 2012 года
game777
11 / / 29.05.2010
Всем здравствуйте! Прошу помощи)
Есть таблица, в заголовках столбцов стоят буквы, а в строке цифры, соответственно нужно зашифровать. Цикл работает, если для одной буквы существует одна цифра. А если я добавляю вторую строку с цифрами, т.е. для какой-то буквы может соответствовать одна цифра, а для какой-то две. Вот когда для буквы А скажем соответствует и 1, и 2. как каждый раз разную выбирать? Набросок цикла такой:

 
Код:
for (int i = 0; i < textBox1.Text.Length; i++)
                {
                    foreach (DataGridViewColumn col in dataGridView1.Columns)
                        if (col.HeaderText == textBox1.Text[i].ToString())
                        {
                           result += dataGridView1.CurrentRow.Cells[col.Index].Value;
                            //result += rnd.Next();
                        }
                }
                listBox1.Items.Add(result);
86K
10 октября 2012 года
Олег Варламов
1 / / 10.10.2012
Насколько я понял необходимо что-то типа этого:

Код:
var text = textBox1.Text;
for (int i = 0; i < text.Length; i++){
  var letter = text[i].ToString();
  foreach (var column in dataGridView1.Columns)
  if (column.HeaderText == letter){
    var cellValue = dataGridView1.CurrentRow.Cells[col.Index].Value.ToString();
    var values = cellValue.Split(' ');// Если разделитель - пробел
    var index = rnd.Next(values.Lenght);
    result += values[index];
  }
}
listBox1.Items.Add(result);
56K
10 октября 2012 года
game777
11 / / 29.05.2010
Насколько я понял необходимо что-то типа этого:

Код:
var text = textBox1.Text;
for (int i = 0; i < text.Length; i++){
  var letter = text[i].ToString();
  foreach (var column in dataGridView1.Columns)
  if (column.HeaderText == letter){
    var cellValue = dataGridView1.CurrentRow.Cells[col.Index].Value.ToString();
    var values = cellValue.Split(' ');// Если разделитель - пробел
    var index = rnd.Next(values.Lenght);
    result += values[index];
  }
}
listBox1.Items.Add(result);



Спасибо просто самое большое, реально помогли!!! Только

 
Код:
foreach (DataGridViewColumn column in dataGridView1.Columns)
это вот так переделал! а везде у Вас тип данных-var? я просто тут его никогда не использовал, например для textBox1 оставил string, а вот у values только var принимает, как это понять?
56K
10 октября 2012 года
game777
11 / / 29.05.2010
А еще можете один момент посмотреть с этим же кодом, давно не получается( такая ситуация, что есть несколько столбцов, в названиях которых стоит не одна буква, а несколько, например "NO". Тогда данный цикл рассматривается каждую букву в отдельности (например: n=1,o=2,no=3) и на выводе получается такой шифр:12, вместо просто 3...пытался как вариант делать что-то типа result += s1.Replace("no", "3");, но тогда получается эта 3 добавляется после каждой буквы, поскольку цикл...не знает как это исправить можно? или что придумать, заранее спасибо)
7
11 октября 2012 года
@pixo $oft
3.4K / / 20.09.2006
Очевидно же—проходи сначала по несколькобуквенным объектам,а потом переходи к однобуквенным.По уменьшению количества символов,т.е.
56K
11 октября 2012 года
game777
11 / / 29.05.2010
Цитата: @pixo $oft
Очевидно же—проходи сначала по несколькобуквенным объектам,а потом переходи к однобуквенным.По уменьшению количества символов,т.е.


а можете чуть-чуть накидать кожа, вообще не помойму( добавить условие в foreach или как?(

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог