Categories
VB.NET

Информация за процесор

Взимане на информация за процесор във Visual Basic чрез класа Win32_Processor.

Информацията се показва в DataGridView с име CPUInfo.

Imports System.Management
Public Class Main
Private Sub appLoad(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
With CPUInfo
.Columns.Add("Name", "Name")
.Columns.Add("Value", "Value")
End With
Dim search As New ManagementObjectSearcher("SELECT * FROM Win32_Processor")
Dim result As ManagementObjectCollection = search.Get()
For Each item As ManagementObject In result
For Each data As PropertyData In item.Properties
CPUInfo.Rows.Add(data.Name, data.Value)
Next data
Next item
End Sub
End Class
view raw Main.vb hosted with ❤ by GitHub
Categories
VB.NET

Четене на файл във Visual Basic

Четене на файлове във VB.NET чрез използване на StreamReader класа.

Dim fileName As String = "файл.txt"
Using reader As StreamReader = New StreamReader(fileName, Encoding.UTF8)
While Not reader.EndOfStream
'ред
Dim line() As String = Split(reader.ReadLine, " ")
'действие
End While
End Using
view raw File.vb hosted with ❤ by GitHub
Categories
VB.NET

Софтуер за сваляне на файлове

File Downloader е примерен проект на софтуер за сваляне на файлове, написан на VB.NET, използващ класовете DownloadFileAsyncExtended.vb и ListViewExtended.vb.

Функционалност:

  • Добавяне на файлове за сваляне;
  • Прекъсване свалянето на един, няколко или всички файлове;
  • Възобновяване свалянето на един, няколко или всички файлове;
  • Премахване на един, няколко или всички файлове от списъка със задачи;
  • Прогрес в проценти и килобайти, скорост на сваляне в килобайти, оставащо време, изминало време, размер на файла, състояние на сваляне.

Интерфейс:

File Downloader
Categories
VB.NET

Транспониране на матрица във VB.NET

Функция на Visual Basic за транспониране на матрици.

Public Class Matrix
Public Shared Function mTranspose(ByVal m1(,) As Double)
Dim m2(m1.GetLength(1), m1.GetLength(0)) As Double
For i As Integer = 0 To m1.GetLength(0) - 1
For j As Integer = 0 To m1.GetLength(1) - 1
m2(j, i) = m1(i, j)
Next j
Next i
Return m2
End Function
End Class
view raw Matrix.vb hosted with ❤ by GitHub
Categories
VB.NET

Умножение на матрици във VB.NET

Функция на Visual Basic за умножение на матрици.

Public Class Matrix
Public Shared Function mMult(ByVal m1(,) As Double, ByVal m2(,) As Double)
Dim m3(m1.GetLength(0), m2.GetLength(1)) As Double
For i As Integer = 0 To m1.GetLength(0) - 1
For j As Integer = 0 To m1.GetLength(1) - 1
For k As Integer = 0 To m2.GetLength(1) - 1
m3(i, k) += m1(i, j) * m2(j, k)
Next k
Next j
Next i
Return m3
End Function
End Class
view raw Matrix.vb hosted with ❤ by GitHub
Categories
PHP

PHP клас за сваляне на видео файлове от Vbox7

Описание:

Това е работещ клас на PHP за сваляне на видео файлове от VBOX7.

Използва CURL за изпращане на POST REQUEST, който връща директния URL адрес към видео файла.

Този клас може да се ползва и модифицира без никакви ограничения.

Автор: GNNMobile.eu

Код:

<?php
class VBox7 {
private $vid = null;
private $url = null;
public function setVideo($vid){
$this->vid = $vid;
}
public function execute(){
if (isset($this->vid)) {
$url = 'http://vbox7.com/play/magare.do';
$body = sprintf('vid=%s', $this->vid);
$c = curl_init($url);curl_setopt($c, CURLOPT_POST, true);
curl_setopt($c, CURLOPT_POSTFIELDS, $body);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
$page = curl_exec($c);
curl_close($c);
if (preg_match('@(http:\/\/media[0-9]+\.vbox7\.com\/s\/[a-z0-9]{2}\/[a-z0-9]+\.)(flv|mp4)@ui', $page, $matches)) {
$this->url = $matches[0];
return true;
}
}
return false;
}
public function getVideo(){
return $this->url;
}
}
view raw VBox7.php hosted with ❤ by GitHub

Пример:

$vbox = new Vbox7;
$vbox->setVideo($_POST['video']);

if ($vbox->execute()) { 
    echo '<a href="'.$vbox->getVideo().'">свали видео файл</a>'; 
}
Categories
VB.NET

Решаване на геодезически засечки

Описание:

Това е клас за решаване на геодезически засечки на VB.NET.

Класът включва методи за решаване на права и линейна засечка.

Не е включен метод за решаване на обратна засечка.

Връзки:

Код:

Imports System
Imports System.Math
Public Class PointDetermination
Public Structure Point
Public x, y As Double
End Structure
Public Structure Result
Public x, y As Double
Public m_x, m_y, m_p As Double
End Structure
Private ro As Double = 636.6197
Public Function intersection(ByVal pntA As Point, ByVal pntB As Point, _
ByVal b1 As Double, ByVal b2 As Double, _
ByVal mB As Integer) As Result
Dim angle As Object = New Angle
Dim sap, sbp, c As Double
Dim b3, aap, abp, aab, aba As Double
Dim pntP(2) As Point
Dim res As Result
If pntA.x = pntB.x And pntA.y = pntB.y Then
Throw New Exception(String.Format(My.Resources.equivalentPoints, "A", "B"))
End If
If (b1 + b2) >= 200 Then
Throw New Exception(My.Resources.invalidAngleValue)
End If
If b1 <= 0 Or b2 <= 0 Then
Throw New Exception(My.Resources.invalidAngleValue)
End If
aab = angle.headingAngle(pntB.y - pntA.y, pntB.x - pntA.x)
c = Sqrt(Math.Pow(pntB.y - pntA.y, 2) + Math.Pow(pntB.x - pntA.x, 2))
b3 = 200 - (b1 + b2)
sap = (c * Sin(angle.toRad(b2))) / Sin(angle.toRad(b3))
sbp = (c * Sin(angle.toRad(b1))) / Sin(angle.toRad(b3))
aap = If(aab - b1 < 0, aab - b1 + 400, aab - b1)
aba = If(aab < 200, aab + 200, aab - 200)
abp = If(aba + b2 > 400, aba + b2 - 400, aba + b2)
With pntP(0)
.x = pntA.x + sap * Cos(angle.toRad(aap))
.y = pntA.y + sap * Sin(angle.toRad(aap))
End With
With pntP(1)
.x = pntB.x + sbp * Cos(angle.toRad(abp))
.y = pntB.y + sbp * Sin(angle.toRad(abp))
End With
With res
.x = (pntP(0).x + pntP(1).x) * 0.5
.y = (pntP(0).y + pntP(1).y) * 0.5
.m_x = Nothing
.m_y = Nothing
.m_p = (mB / (ro * Sin(angle.toRad(b3)))) * Sqrt(Math.Pow(sap, 2) + Math.Pow(sbp, 2))
End With
Return res
End Function
Public Function arcSection(ByVal pntA As Point, ByVal pntB As Point, _
ByVal sap As Double, ByVal sbp As Double, _
ByVal a As Double, ByVal b As Double) As Result
Dim angle As Object = New Angle
Dim b1, b2, b3 As Double
Dim aap, abp, aab, aba As Double
Dim dx, dy, s, c As Double
Dim m_s As Double
Dim pntP(2) As Point
Dim res As Result
If pntA.x = pntB.x And pntA.y = pntB.y Then
Throw New Exception(String.Format(My.Resources.equivalentPoints, "A", "B"))
End If
If sap <= 0 Or sbp <= 0 Then
Throw New Exception(My.Resources.negativeOrZeroLengthSide)
End If
If (Sqrt(Math.Pow(pntA.x - pntB.x, 2) + Math.Pow(pntA.y - pntB.y, 2))) >= (sap + sbp) Then
Throw New Exception(My.Resources.notAVerticesOfATriangle)
End If
If (Sqrt(Math.Pow(pntA.x - pntB.x, 2) + Math.Pow(pntA.y - pntB.y, 2)) + sap) <= sbp Then
Throw New Exception(My.Resources.notAVerticesOfATriangle)
End If
If (Sqrt(Math.Pow(pntA.x - pntB.x, 2) + Math.Pow(pntA.y - pntB.y, 2)) + sbp) <= sap Then
Throw New Exception(My.Resources.notAVerticesOfATriangle)
End If
dy = pntB.y - pntA.y
dx = pntB.x - pntA.x
aab = angle.headingAngle(dy, dx)
c = Sqrt(Math.Pow(dy, 2) + Math.Pow(dx, 2))
s = 0.5 * (sap + sbp + c)
b1 = 2 * angle.toGrad(Atan(Sqrt(((s - sap) * (s - c)) / (s * (s - sbp)))))
b2 = 2 * angle.toGrad(Atan(Sqrt(((s - sbp) * (s - c)) / (s * (s - sap)))))
b3 = 2 * angle.toGrad(Atan(Sqrt(((s - sap) * (s - sbp)) / (s * (s - c)))))
aap = If(aab - b1 < 0, aab - b1 + 400, aab - b1)
aba = If(aab < 200, aab + 200, aab - 200)
abp = If(aba + b2 > 400, aba + b2 - 400, aba + b2)
With pntP(0)
.x = pntA.x + sap * Cos(angle.toRad(aap))
.y = pntA.y + sap * Sin(angle.toRad(aap))
End With
With pntP(1)
.x = pntB.x + sbp * Cos(angle.toRad(abp))
.y = pntB.y + sbp * Sin(angle.toRad(abp))
End With
m_s = a + b * (((sap + sbp) * 0.001) * 0.5)
With res
.x = (pntP(0).x + pntP(1).x) * 0.5
.y = (pntP(0).y + pntP(1).y) * 0.5
.m_x = (m_s / Sin(angle.toRad(b3))) * Sqrt(Math.Pow(Sin(angle.toRad(aap)), 2) + Math.Pow(Sin(angle.toRad(abp)), 2))
.m_y = (m_s / Sin(angle.toRad(b3))) * Sqrt(Math.Pow(Cos(angle.toRad(aap)), 2) + Math.Pow(Cos(angle.toRad(abp)), 2))
.m_p = (m_s / Sin(angle.toRad(b3))) * Sqrt(2)
End With
Return res
End Function
End Class
Categories
PHP

Сваляне на видео от Vbox7

Описание:

PHP клас за сваляне на видео файлове от Vbox7.com

Код:

<?php
/**
* PHP клас за сваляне на видео файлове от vbox7
* @author GNNMobile.eu
*/
class VboxDownload
{
private $maxMediaServers = 30;
public function getUrl($videoID)
{
$return = array(
'success' => false,
'url' => null,
'errors' => null
);
if (!preg_match('/^[a-z0-9]+$/u', $videoID)) {
$return['errors'][] = 'Невалидно video-id';
}
if ($return['errors'] == null) {
for ($id = 1; $id < $this->maxMediaServers; $id++) {
$mediaServer = str_pad($id, 2, "0", STR_PAD_LEFT);
$dir = substr($videoID, 0, 2);
$url = sprintf("http://media%s.vbox7.com/s/%s/%s.flv", $mediaServer, $dir, $videoID);
if ($this->remoteFileExists($url) === true) {
$return['success'] = true;
$return['url'] = $url;
break;
}
}
if ($return['success'] === false) {
$return['errors'][] = 'Няма намерен файл';
}
}
return $return;
}
private function remoteFileExists($url)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 0.1);
if (curl_exec($ch)) {
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($statusCode == 200) {
return true;
}
}
curl_close($ch);
return false;
}
}

Други:

Работещ клас на PHP за сваляне на видео от VBOX7