Quantcast
Channel: Форум программистов и сисадминов Киберфорум
Viewing all 520535 articles
Browse latest View live

Не могу снять скриншот окна - Delphi для начинающих

$
0
0
Код:

function ScreenShot(hwnd: THandle): TStream;
var
  rc: TRect;
  hDC1, hSrcDC: HDC;
  hBmp: HBITMAP;
  tBmp: TBitmap;
  r: Trect;
  color: TColor;
  color_str: string;
  list: TStringList;
  x, y: integer;
  stream:TStream;
begin
  tBmp := TBitmap.Create;
  GetWindowRect(hwnd, r);
  hDC1 := GetDc(hwnd);
  hSrcDC := CreateCompatibleDC(hDC1);
  hBmp := CreateCompatibleBitmap(hDC1, r.Right - r.Left, r.Bottom - r.Top);
  SelectObject(hSrcDC, hBmp);
  PrintWindow(hwnd, hSrcDC, 0);
  BitBlt(hDC1, 0, 0, r.Right - r.Left, r.Bottom - r.Top, hSrcDC, 0, 0, SRCCOPY);
  tBmp.Handle := hBmp;
  DeleteObject(hBmp);
  DeleteDC(hSrcDC);
  ReleaseDC(hwnd, hDC1);

    color := tBmp.Canvas.Pixels[100, 100]; // -1
  color_str := IntTostr(GetRValue(color)) + IntTostr(GetGValue(color)) + IntTostr(GetBValue(color));
  ShowMessage('2 ' + color_str); // Выкидывает цвет "255255255", хотя там не он.

  tBmp.SaveToStream(stream); // Вылетает, говорит "Bitmap image is not valid"
  Result := stream;
end;

Даже прогонял по всем пикселям, все они равны 255 255 255.

Добавлено через 11 минут
Не знаю как так получается, но уже в который раз обратившись сюда за помощью, сразу нахожу решение самостоятельно)

ОТЦ. Переходные процессы в RL-цепи - Электротехника, ТОЭ

$
0
0
Привет. Такой вопрос. Имеется цепь, сделала измерения для исследования переходных процессов в этой цепи (зеленый - с L при начальной фазе 81, желтый -с L при начальной фазе -10 , синий - с R при начальной фазе -10 , розовый -с R при начальной фазе 81). Нужно было изобразить, что станет с графиками, если уменьшить частоту в 2 раза. Понятно, что период увеличиться в 2 раза, а вот что будет с амплитудой? Чем определяется амплитуда этом случае?

Изображения
Тип файла: jpg XMKF_ElAoBI.jpg (14.1 Кб)
Тип файла: jpg лаба1.jpg (157.5 Кб)

Реализовать интерфейсы и классы - С++ для начинающих

$
0
0
подскажите пожалуйста так ли это сделано? если нет, то подскажите в чем ошибка ?
Код:

Container.h
#define struct interface
#include <string>

class Container{
public:
        virtual ~Container(){}

        int size() const; // возвращает размер контейнера
        bool isEmpty() const; // проверяет пустой ли контейнер
        string toString() const; // строка со всеми элементами
};

Код:

PushPopContainer.h
#define struct interface
#include "interface.IndexedContainer.h"

interface PushPopContainer: public Container {
public:
        PushPopContainer(){}
        virtual ~PushPopContainer(){}

        bool push(int value); // добавить элемент
        int pop(); // забрать элемент
        int peek() const; // узнать элемент
};

Код:

Stack.cpp
#include<iostream>

using namespace std;

class Stack {
private:
        int* arr; // Указатель на динамический массив с элементами стека
        int* top; // Указатель на верх стека
        int size; // Емкость стека
public:
        Stack(int s = 10) {
                this->size = s;
                arr = new int[s];
                top = arr;
        }
        Stack(const Stack& s) { // Копирующий конструктор
                this->size = s.size;
                this->arr = new int[s.size]; // Создаём НОВЫЙ динамический массив
                this->top = arr;
                int* p = s.arr; // Отдельный указатель на элементы старого массива
                while (p < s.top) {
                        *top++ = *p++; // Копируем элементы и позицию в новый массив
                }
        }
        bool isEmpty() { // Метод проверяющий пуст ли стек
                if (top <= arr) {
                        return true;
                }
                else {
                        return false;
                }
        }
        bool isFull() { // Метод проверяющий полон ли стек
                if (top - arr >= size) {
                        return true;
                }
                else {
                        return false;
                }
        }
        void push(int val) { // Метод добавляющий элемент в стек
                if (!isFull()) {
                        *top = val;
                        top++;
                }
                else {
                        cout << "Stack full!" << endl; // Стэк полон
                }
        }
        int pop() { // Метод извлекающий верхний элемент из стека
                if (!isEmpty()) {
                        top--;
                        return *top;
                }
                else {
                        return 0; // Стэк пуст, вернём нуль
                }
        }
        void printStack() { // Метод выводящий элементы стека в строку
                int* p = arr;
                while (p < top) {
                        cout << *p++ << " ";
                }
                cout << endl;
        }
        ~Stack() { // Деструктор
                delete[] arr; // Освобождает память от массива
        };
};

Код:

test.cpp
#include "Stack.cpp"

int main(void) {
        Stack s(3); // Создаём стек емкостью в 3 элемента
        s.push(11);
        s.push(43);
        s.push(25);
        s.push(66); // Увидим сообщение о том, что стек полон
        Stack t(s); // Создаём второй стек, копируя первый
        cout << t.pop() << endl; // Извлекаем и выводим верхний элемент
        t.push(99); // Добавляем другой элемент на освободившееся место
        t.printStack(); // Увидим 3 элемента стека
        return 0;
}

Монитор включается на секунду и гаснет - Мониторы

$
0
0
Монитор http://www.lg.com/ru/monitors/lg-24EA53VQ-ips-monitors работает нормально пока его не выключишь (или сам не выключится если в настройках энергосбережения предусмотрено отключение), когда включаешь снова изображение появляется на секунду и пропадает. Если отключить от компьютера то изображение появляется (сообщение что кабель не подключен), если подключить к компьютеру когда питание включено, изображение появляется на секунду, пропадает, через 3 секунды появляется на секунду, опять пропадает и так до бесконечности. А если подключить к компу, а потом питаете включить то 1 раз на секунду включается. Другой монитор с этим компьютером работает нормально, этот монитор с другим компом тоже не работает.
Если он всё-таки запустится, то дальше работает нормально до следующего отключения.
Сначала я его разобрал, думал конденсаторы вздулись, вроде целые все. Отвез в ремонт. Там включили работает, 3 дня он у них стоял, на ночь отключали, утром включали работает. Забрал обратно, дома подключил, тоже работает. Так и работал пол месяца, я его не выключал, вчера выключил, не его а компьютер, монитор сам отключился. Обратно не включается, опять на секунду появляется изображение и исчезает.
Подключать пробовал через все разъемы какие в нем есть и кабель другой пробовал.
Что это может быть? Думал он «отдохнул» пока в сервис вез, на ночь оставил его в покое, не помогло :)
Везти опять в ремонт, он возьмёт опять заработает у них, только деньги зря потрачу.

Отсортировать последовательность - Pascal ABC

Размножение полей формы - увеличить количество полей - JavaScript и API

$
0
0
Есть известный код (дабы не писать длиннющий код - дам ссылку)

http://ajaxs.ru/lesson/jq/121-razmno..._na_sajte.html

Однако этот код - при нажатии кнопки - дает добавить только одно поле,
можно ли сделать так - чтобы добавлялось по 10 полей сразу - и как это сделать?

Фиксированный блок залезает на footer - jQuery

$
0
0
Помогите решить проблему, сделал так, что при прокрутке блок div фиксируется, но он залезает на футер, как исправить?

Код:

jQuery(function($) {
    $(window).scroll(function() {
        if($(this).scrollTop()>98) {
            $('.check').addClass('fixed');
        }
        else if ($(this).scrollTop()<98) {
            $('.check').removeClass('fixed');
        }
    });
});

Вложение 816489

Изображения
Тип файла: png Снимок.PNG (89.8 Кб)

Триггер для накопления данных в поле - MySQL

$
0
0
Используется
MySql 5,7 - х64

Имеется таблица

Код:

CREATE TABLE `tst_005_tbl_00` (
    `id` INT(11) NULL DEFAULT NULL,
    `pl_1` VARCHAR(1000) NULL DEFAULT NULL,
    `pl_1_sprch` ENUM('pl_1_1','pl_1_2','pl_1_3','pl_1_4','pl_1_5','pl_1_6') NULL DEFAULT NULL
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
;

Сценарий
1. В поле "pl_1_sprch" выбираем значение из выпадающего списка;
2. В поле "pl_1" триггер добавляет новые значение к существующим значениям через запятую.

Вопрос
Можно ли реализовать данный сценарий?
Если "да", то как ориентировочно должен выглядеть триггер?

Можно ли сдедствами PHP загрузить XML файл с чужого сервера к себе в базу - PHP и базы данных

$
0
0
Пробовал скачать и сделать парсинг средствами ajax. С парсингом нет проблем, но скачать с чужого сервера к себе не получилось.
Средствами PHP загружается через форму без проблем, напр. так
Код:

<form name="upload" action="upload1.php" method="POST" ENCTYPE="multipart/form-data">
 Select the file to upload: <input type="file" name="userfile">
 <input type="submit" name="upload" value="upload">
</form>
<?php
 $uploaddir = '../'; // Relative path under webroot
 $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
  echo "File is valid, and was successfully uploaded.\n";
 } else {
  echo "File uploading failed.\n";
 }
?>

Без формы не нашел как сделать только средствами php.
У меня файл с один именем и всегда лежит в той же папке(обновление раз в сутки).
С парсингом еще хуже. Советуют делать скачать к себе на диск через input type="file" и средствами ajax делать парсинг
Короче, кругом вилы:(
Действительно так всё плохо и нельзя средствами PHP скачать файл с чужого сервера и сделать парсинг????

Как добавить еще один подобный скрипт на сайте - PHP для начинающих

$
0
0
У меня на сайте - стоит скрипт
Код:

<form action="add.php" method="post">
      <table id="table_container">
            <tr>
                    <td width="100px" colspan="2"><strong>Название</strong></td>
            </tr>
        </table>
        <br/>
<input type="button" value="Добавить поле" id="add" onclick="return add_new_image();">
<input type="submit" value="Отправить">
</form>

Код:

<script type="text/javascript" src="jquery-1.2.6.pack.js"></script>
<script type="text/javascript">
var total = 0;
function add_new_image(){
  total++;
  $('<tr>')
  .attr('id','tr_image_'+total)
  .css({lineHeight:'20px'})
  .append (
      $('<td>')
      .attr('id','td_title_'+total)
      .css({paddingRight:'5px',width:'200px'})
      .append(
          $('<input type="text" />')
          .css({width:'200px'})
          .attr('id','input_title_'+total)
          .attr('name','input_title_'+total)
      )                           
                             
    )
    .append(
        $('<td>')
        .css({width:'60px'})
        .append(
          $('<span id="progress_'+total+'" class="padding5px"><a href="#" onclick="$(\'#tr_image_'+total+'\').remove();" class="ico_delete"><img src="delete.png" alt="del" border="0"></a></span>')
        )
    )
    .appendTo('#table_container');               
}
$(document).ready(function() {
    add_new_image();
});
</script>

Код:

$n = count($_POST);
$key = array_keys($_POST);
for($i=0; $i < $n; $i++){
    echo $_POST[$key[$i]]."<br>";
}

он будет мешать первому - а необходимо чтобы он работал отдельно - и не мешал первому скрипту.
Соответственно - помогите пожалуйста
 Комментарий модератора 
5.19 Запрещено создавать темы в виде ссылок на задания или коды программ, расположенные на других сайтах.

Вырезать число 0 - Shell, Bash

$
0
0
У нас есть файл с числами от 0 до 399,как через grep сделать,так чтобы не выводил только число 0. А остальные числа с нулями выводил?

Вставка нового узла - С++ для начинающих

$
0
0
Как сделать вставку нового узла перед выбранный узлом в линейном односвязном списке?

Конструктор для класса исключений - С++ для начинающих

$
0
0
Здравствуйте. Разбираюсь с обьектно-ориентированным программирование. Есть задание создать класс векторов, а потом наследовать от класса exception классы ошибок. Никак не получается написать конструктор и десктруктор наследованного класса ошибок.
Вот Error.h
Код:

class ErVec : public std::exception
{
protected:
        char* message;

public:
        explicit ErVec(char* message);
        virtual ~ErVec();

        virtual const char* what() const override;
};

А вот Error.cpp
Код:

ErVec::ErVec(char* message)
{
       
}

ErVec::~ErVec()
{
       
}

const char* ErVec::what() const
{
        return this->message;
}

const char* ErrorMem::what() const
{
        return this->message;
}

const char* ErrorDim::what() const
{
        return this->message;
}

const char* ErrorLen::what() const
{
        return this->message;
}

const char* ErrorEl::what() const
{
        return this->message;
}

Добавлено через 25 минут
Я написал такое
Код:

ErVec::ErVec(char* message)
{
        this->message = new char[strlen(message)];
        memcpy(this->message, message, strlen(message) * sizeof(char));
}

Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности положит - C# для начинающих

$
0
0
Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности положительных чисел (длина последовательности не ограничена) цикл do while

Индивидульное задание - Java

$
0
0
Помогите пожалуйста решить индивидуальное задание(java).
Предметный указатель организован как список.
Каждая компонента указателя содержит слово и номера страниц, на которых это слово встречается.Количество номеров страниц относящихся к одному слову, от 1 до 10.
Разработать программу, которая содержит:
-начальное формирование предметного указателя;
-вывод предметного указателя;
-вывод номера страниц для заданного слова;
Программа должна обеспечивать диалог с помощью меню и контроль ошибок про вводе.

Незадача с указателями на структуру - C для начинающих

$
0
0
Всем привет, у меня проблема с одним заданием. Значит звучит оно так. Надо создать массив на 10, потом сделать так, что бы каждый элемент массива указывал на мою структуру, и потом в конце после того, как все 10 структур я заполнил, все вывести на экран все 10 структур. Так как я только учусь, и в голове каша, не могу разобраться.
Вот код:
Код:

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>


struct automobile {
        char model[20];
        char Year_of_manufacture[20];
        char probeg[20];
        char price[20];
        char color[15];
        char country[15];
        char mark[15];

};
int structura() {
    setlocale(LC_ALL, "rus");
    int i = 0;
    for(i=0;i<10;i++){
  struct automobile arr[10];
  printf("Введите модель: ");
  scanf("%s",arr[i].model);
  printf("Введите год выпуска: ");
  scanf("%s",arr[i].Year_of_manufacture);
  printf("Введите пробег: ");
  scanf("%s",arr[i].probeg);
  printf("Цена: ");
  scanf("%s",arr[i].price);
  printf("цвет: ");
  scanf("%s",arr[i].color);
printf("Страна выпуска: ");
  scanf("%s",arr[i].country);
  printf("Марка: ");
  scanf("%s",arr[i].mark);
    }
}


int main() {
    setlocale(LC_ALL, "rus");

struct automobile *arr[10];
int i=0;
for(i=0;i<10;i++){
arr[i] = (struct automobile*) malloc(sizeof(struct automobile));

}
structura();
for(i=0;i<10;i++){
struct automobile arr[10];
printf("\nМодель: %s, Год выпуска :%s, Пробег : %s, Цена: %s, Цвет : %s, Страна : %s, Марка : %s\n ",
        arr[i].model, arr[i].Year_of_manufacture, arr[i].probeg, arr[i].price, arr[i].color, arr[i].country, arr[i].mark);
}
}

нужен совет - Ремонт ноутбуков

$
0
0
через раз срабатывают клавиши ноутбка, что делать ?

Слова которые начинаются на "a" - Assembler для начинающих

$
0
0
Здравствуйте форумчане.
Стоит задание - Есть набор слов введенных с клавиатуры (слова разделены запятой и в конце точка ) - нужно вывести на екран все слова которые начинаются на "a".

Пример моего кода
Код:

data segment para 'data'

 word db 255 dup('?'),'$'
 str1 db 'input string: ','$'
 str2 db 'result: ','$'
 newline db 10,13,'$'
 
 num db ?,'$'
 
data ends


code segment para 'code'
assume cs: code, ds: data

 begin:
  mov ax,data
  mov ds,ax
  xor ax,ax

  mov ax,0001h
  int 10h
 
  mov dx, offset str1      ; вывод на экран сообщение
  mov ah,09h
  int 21h
 
  mov dx, offset newline    ; переход на новую строку
  mov ah,09h
  int 21h

  mov dx, offset word      ; ввод строки
  mov ah,0ah
  int 21h

  mov dx, offset newline    ; переход на новую строку
  mov ah,09h
  int 21h
 
  mov dx, offset str2      ; вывод на экран сообщение
  mov ah,09h
  int 21h

  mov dx, offset newline    ; переход на новую строку
  mov ah,09h
  int 21h
 
  xor bx,bx
  mov si,2
  jmp m1
 m2:
  mov al,word[si-1]
  mov di,si
  sub di,bx
  cmp al,'a'
  je dryk
  xor bx,bx
  inc si
  jmp m1
 spo:
  mov dx, offset newline    ; переход на новую строку
  mov ah,09h
  int 21h
  inc si
  xor bx,bx
  xor ax,ax 
 m1:
  mov al, word[si]
  cmp al,',' 
  je m2
  cmp al,'.' 
  je m2
  inc bl
  inc si
  jmp m1

dryk:                        ; вывод на экран посимвольно найденного слова
  mov al,word[di]
  cmp al,','
  je spo
  cmp al,'.' 
  je mexit
  mov num,al 
  lea dx, num
  mov ah,09h
  int 21h
  inc di
  jmp dryk 
 
 
mexit:

mov ax,4c00h
int 21h

code ends
 end begin

Подскажите где у меня ошибки.
Буду очень благодарен.

Определить среднее арифметическое - Pascal ABC

$
0
0
С помощью функции определить среднее арифметическое объемов 3-х шаров, радиус которых вводятся с клавиатуры.

Вычисляемое поле в запросе с использованием другого вычисляемого поля этого же запроса - MS Access

$
0
0
Возможно вопрос глупый и решается достаточно просто, прошу отнеситесь с пониманием к самостоятельно плавающим в аксессе)))

Ситуация следующая: есть запрос на основе таблицы с полями: сумма заказа (из запроса сумма заказа (суммирует позиции заказа)), скидка, комиссия за внесение, налог (логическое), делаю вычисляемое поле с выражением:

к оплате: [сумма заказа]![Sum-сумма]-[сумма заказа]![Sum-сумма]*[скидка в %]

а вот со следующим вычисляемым полем проблемы

Поступление: [к оплате]-[к оплате]*[комиссия в % за внесение оплаты]

при выполнении выводит окно : введите значение параметра к оплате, в принципе это решается выражением

Поступление: [сумма заказа]![Sum-сумма]-[сумма заказа]![Sum-сумма]*[скидка в %]-[сумма заказа]![Sum-сумма]*[комиссия в % за внесение оплаты]

по этому же принципу делаю поле:

налог в руб: IIf([налог]=-1;([сумма заказа]![Sum-сумма]-[сумма заказа]![Sum-сумма]*[скидка в %]*0,01)*0,06;[сумма заказа]![Sum-сумма]*0)


страшно представить Выражение по этому принципу типа Прибыль=Поступление - Налог...

Подскажите так и должно быть? или я что-то делаю не так? и можно ли как-то делать последовательные вычисления типа:

к оплате: [сумма заказа]![Sum-сумма]-[сумма заказа]![Sum-сумма]*[скидка в %]

Поступление: [к оплате]-[к оплате]*[комиссия в % за внесение оплаты]

налог в руб: IIf([налог]=-1;([Поступление])*0,06;[Поступление]*0)
Viewing all 520535 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>