Циклы в бат-файле

 Здесь приведены примеры организации цикла в батнике.
________________
@echo off
rem Включение расширенной обработки команд
setlocal enabledelayedexpansion
rem Инициализация переменной i (счетчик)
set /a i=0
rem Метка условия выполнения цикла
:if
if %i% LSS 10 (
    goto count
) else (
    goto end
)
rem Функциональная метка, содержащая выполнимые команды с последующим заполнением счетчика i
:count
echo Hello world!
set /a i=i+1
goto if
rem Финишная метка
:end
echo Loop finished...
pause
exit
________________
Можно внести небольшую интерактивность, например предоставив возможность выбора условий окончания цикла
________________
@echo off
rem Включение расширенной обработки команд
setlocal enabledelayedexpansion
rem Инициализация переменной i (счетчик)
set /a i=0
set /p n=Enter border
rem Метка условия выполнения цикла
:if
if %i% LSS %n% (
    goto count
) else (
    goto end
)
rem Функциональная метка, содержащая выполнимые команды с последующим заполнением счетчика i
:count
echo Hello world!
set /a i=i+1
goto if
rem Финишная метка
:end
echo Loop finished...
pause
exit /b
________________
Циклы удобны в практических целях, например:
________________
@echo off
rem Включение расширенной обработки команд
setlocal enabledelayedexpansion
rem Инициализация переменной i (счетчик)
set /a i=0
set /p n=Enter border
rem Метка условия выполнения цикла
:if
if %i% LSS %n% (
    goto count
) else (
    goto end
)
rem Функциональная метка, содержащая выполнимые команды с последующим заполнением счетчика i
:count
set /a i=i+1
ping 191.168.0.%i% -n 1
goto if
rem Финишная метка
:end
echo Loop finished...
pause
exit /b

Трансферизация данных в формате *.xls, *.xlsx, and *.xlsb в базы данных

Возможно, кто-то встречался с ошибкой вида:
 
Ошибка разбора файла: The 'Microsoft.ACE.OLEDB.12.0' provider is not registered 
on the local machine.
 
В нашем случае ошибка возникала при попытке произвести импорт данных в формате  
*.xls в базу данных Oracle.
 
Интерфейсом работы с базой данных служило веб-приложение построенное на технологии 
ASP.NET.
 
Решением проблемы был компонент AccessDatabaseEngine.exe. 
 
Смело устанавливайте данный компонент, не смотря на версию установленного пакета офиса. 
 
 Удачи Вам. 

Задача на сортировку на C++

Задача. На C++ реализовать ввод массива из пяти целых чисел. Вывести полученный массив. Произвести поиск минимального и максимального элементов. Провести сортировку: заменить местами только те элементы в массиве, которые лежат в диапазоне от минимального до максимального. Далее вывести полученный результат.
Решение. Реализовано на Microsoft Visual C++ 2008 Express Edition
#include <iostream>
using namespace std;

//Ввод значений в массив arr
void InputArray(int arr[])
{
cout << "Enter any 5 numbers" << endl;
for(int i = 0; i < 5; i++)
    cin >> arr[i];
}

//Вывод значений массива
void PrintArray(int arr[])
{
cout << endl;
for(int i = 0; i < 5; i++)
    cout << arr[i] <<" ";
}

//Поиск индекса минимального значения в массиве arr
int FindMin(int arr[])
{
int i_min = 0;
int min = arr[0];
for(int i = 0; i < 5; i++)
    if(arr[i] < min)
    {
        i_min = i;
        min = arr[i];
    }
return i_min;
}

//Поиск индекса максимального значения в массиве arr
int FindMax(int arr[])
{
int i_max = 0;
int max = arr[0];
for(int i = 0; i < 5; i++)
    if(arr[i] > max)
    {
        i_max = i;
        max = arr[i];
    }

return i_max;
}

//Замена местами значений в массиве arr в пределах от минимального до максимального значения
//Рассмотрены два случая
void SortArray(int a, int b, int arr[])
{
if(a < b)
{
    for (int i = a; i < b; i++)
           {
           int tmp = arr[b];
           arr[b] = arr[i];
           arr[i] = tmp;
           b--;
           }
}
if(a > b)
{
    for (int i = a; i > b; i--)
       {
       int tmp = arr[b];
       arr[b] = arr[i];
       arr[i] = tmp;
       b++;
       }
}
}

int main(){

int arr[5];

int a, b;

InputArray(arr);

PrintArray(arr);

//Искомые индексы минимального и максимального значений в массиве arr
a = FindMin(arr);
b = FindMax(arr);

SortArray(a, b, arr);

PrintArray(arr);

return 0;
}

 На выходе получаем следующее. Работает.

Пример разбора php-кода в связке с mysql

<?
function db_query($sql)
{
    $result = mysql_query($sql);
      
    while ($arr = mysql_fetch_array($result, MYSQL_ASSOC))
    {
        $new[] = $arr;
    }
    return $new;
}

function dump($var)
{
    echo "<pre>";
    print_r($var);
    echo "</pre>";
}

$connect = mysql_connect('localhost', 'root', '')
    or die('hello!');
  
mysql_select_db ('New_db', $connect)
    or die('Hello222!');


$publisher = db_query("SELECT `title` FROM `publishers` WHERE `id` = {$_GET['publisher']}");
echo "<h1>{$publisher[0]['title']}</h1>";


$arr1 = db_query('SELECT * FROM `publishers` WHERE 1');
echo '<table border = "1">';
foreach ($arr1 as $value)
{
    echo "<tr><td>{$value['id']}</td><td>{$value['title']}</td></tr>";
}
echo '</table>';

$arr1 = db_query('SELECT * FROM `publishers` WHERE `id` > 2');

echo '<select>';
echo '<option value=0>..</option>';

foreach ($arr1 as $value)
{
    echo "<option value={$value['id']}>{$value['title']}</option>";
}

echo '</select>';

?>

Странная любовь

Как же я люблю посещать книжный магазин, для меня это особое место. Вокруг тысяча книг, куча различной информации. Можно сколь угодно читать. Кладезь знаний. Люблю, когда люди занимаются таким интимным делом как чтение. По-сути своей они совершают интеллектуальный акт. Люблю, когда люди говорят умно и красиво. Для меня это - "кайф". Жизненный цейтнот не всегда дает время для чтения книг. Было бы здорово организовать свой книжный магазин, но не просто магазин, а книжное кафе, чтобы можно было спокойно посидеть, попить чаю, кофе, почитать, полистать, обсудить. И все это погрузить в некую уютную атмосферу. Я был бы рад такому кафе.