Převod VB - C   otázka

VB.NET, Offtopic, C++/C

Zdravím,

máte osvědčenou utilitu na převod z VB do C? Je jich spousta, bohužel některé jsou placené, jiné nefunkční.

nahlásit spamnahlásit spam -3 / 3 odpovědětodpovědět

Tohle zatím vypadá nejlépe:

http://www.helpprogrammers.com/convertco...

popere se to i s češtinou

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

Nejlepší řešení, které znám, je na této adrese:

http://www.developerfusion.com/tools/con...

nahlásit spamnahlásit spam 3 / 3 odpovědětodpovědět

Do C nebo do C#?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

http://www.tangiblesoftwaresolutions.com...

ja pouzivam tohle, ale z c# do vb

nahlásit spamnahlásit spam 0 odpovědětodpovědět

http://www.tangiblesoftwaresolutions.com...

Trošku drahé. Ale fakt si to poradí na 99%?

Převádím do čistého C (pro malé procesory), takže musím upravovat docela dost:

stringy, false -> FALSE, true - > TRUE. Chtělo by to PC verzi s nastavením.

nahlásit spamnahlásit spam -3 / 3 odpovědětodpovědět

Do čistého C? Tak to na nějakou automatickou konverzi rovnou zapomeňte...

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Převod do čistého C není problém, pokud není program moc psán objektově. Převádím jenom některé výpočetní funkce, takže je to celkem pohoda.

Akorát jsem to dnes chtěl zkompilovat a narazil jsem na problém. Závorky u pole. VB má () a C má []. A ten převodník je nepřevedl.

nahlásit spamnahlásit spam 0 / 2 odpovědětodpovědět

Nejde o použitie/nepoužitie prvkov OOP. Stačilo by Vám toto, a nie je to veľmi objektové, a už máte problém:

Imports System.Windows.Forms
Public Sub Main()
 Application.Run(New Form())
End Sub

Ak vážne chcete preložiť program z VB.NET do C alebo C++, tiež som toho názoru, že najlepšie to pôjde ručne. Pre aký procesor to vlastne chcete ?

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

Pobavil jste mne. Závorky jsou zřejmě jediný rozdíl, který mezi VB.NET a C znáte...

nahlásit spamnahlásit spam -1 / 3 odpovědětodpovědět

????

Ondřej Linhart se opět projevil. Převod z VB do C jde. Bohužel některé nástroje jsou špatné a mají chyby. Zkusím zjistit který převodník jsem použil, aby s tím neměl problém někdo další.

nahlásit spamnahlásit spam -2 / 2 odpovědětodpovědět

Prejavili ste sa skôr Vy. Zožente mi program, ktorý funkčne prevedie toto do C++, a potom môžete mať takéto reči:

Imports System.Drawing
Imports System.Windows.Forms

Public Module Program
  Public Sub Main()
    Dim frm As New Form()
    frm.Location = New Point(0,0)
    frm.Sizevbn = New Size(640,480)
    Dim txt As New TextBox()
    txt.Location = New Point(20,20)
    txt.Size = New Size(64,20)
    frm.Controls.Add(txt)
    Application.Run(frm)
  End Sub
End Module

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Od počátku byl dotaz na převod jednoduchého kódu, ne převod objektů, které jsou součásti VB a nemají ekvivalent v C. Přečtěte si prosím znovu diskuzi.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Pochybuji že lze kod z VB nějak automaticky převést do C nebo C++. Možná nějaké dílčí části ale většinu si stejně budete muset napsat sám. Jedná se o uplně jiný jazyk a je potřeba si uvědomit, že nejde jenom o zápis. VB může mít funkce které C nemá a tak si je budete muset napsat ručně. A taky návrh aplikace se v každém jazyce trochu liší v závislosti na tom, co daný jazyk umožňuje a co ne.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Už jsem to psal dříve, převádím jen část kódu. Navíc to píšu tak aby to šlo převést - například místo zápisu do TextBoxů používám zástupné funkce:

ZapisDoDisplejeJedenRadak("Ahoj")

Takhle se dá ověřit spoustu věcí, ještě před dokončením HW.

Jinak základ většiny jazyků je stejný - if, for, while, exit. Jen se trochu liší zápis a implementované funkce.

nahlásit spamnahlásit spam 0 / 2 odpovědětodpovědět

A pak nemají "vznikat" tzv. hybrid programátoři. Tj. takoví,po kterých a s kterými nikdo nechce dělat.

nahlásit spamnahlásit spam 0 / 2 odpovědětodpovědět

Chtěl bych vidět špínu, která takovýmto vaším "převodem" vznikne. Rovněž by mě zajímal ten převodník, který jste si tak vychvaloval (o tom že jste si ho vycucal z prstu nemám nejmenší pochybnosti).

nahlásit spamnahlásit spam 0 odpovědětodpovědět

http://www.developerfusion.com/tools/con...

http://www.helpprogrammers.com/convertco...

Oba dva weby prekladaji chybne zavorky u poli, ten prvni ale jen nekdy. Ukazka:

Private Sub Pokus()

		Dim Pole(4) As UInteger
		Dim Soucet As Integer

		Pole(0) = 1
		Pole(1) = 2
		Pole(2) = 3
		Pole(3) = 4

		Soucet = 0
		Soucet += Pole(0)
		Soucet += Pole(1)
		Soucet += Pole(2)
		Soucet += Pole(3)
End Sub

private void Pokus()
{

	uint[] Pole = new uint[5];
	int Soucet = 0;

	Pole(0) = 1;
	Pole(1) = 2;
	Pole(2) = 3;
	Pole(3) = 4;

	Soucet = 0;
	Soucet += Pole(0);
	Soucet += Pole(1);
	Soucet += Pole(2);
	Soucet += Pole(3);
}

private void Pokus()
{
	uint[] Pole = new uint[5];
	int Soucet = 0;

	Pole[0] = 1;
	Pole[1] = 2;
	Pole[2] = 3;
	Pole[3] = 4;

	Soucet = 0;
	Soucet += Pole[0];
	Soucet += Pole[1];
	Soucet += Pole[2];
	Soucet += Pole[3];
}

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Tak teď jste tomu nasadil korunku...to opravdu nepoznáte ani rozdíl mezi C a C#?! Tohle není převodník do C,ale do C#.Což je jeden z.Net jazyků a tam je převod samozřejmě možný,i když s možnými kosmetickými chybkami. Takových převodníků je samozřejmě na netu mraky..

nahlásit spamnahlásit spam 0 / 2 odpovědětodpovědět

Vážený, vy raději zůstaňte u těch závorek, if, for a while. I tak jsem přesvědčen, že natropíte velkou neplechu...

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Vážení s vámi je těžká řeč. Chtěl jsem jen poradit, který program je nejlepší na převod programu z VB do C.

Na rozdíly syntaxe VB, C++, C# atd kašlu. Prostě to musím převést. Můžu to buď přepsat ručně nebo to udělat v nějakém programu. A znovu upozorňuji, je to jednoduchý program, který má jen základní funkce VB, tedy ty které jsou obsaženy většinou i v C. Jasně mají jiný název, musí se upravit proměnné, změnit pointery atd.

Za výše uvedený odkaz děkuji, i když má drobné chyby. Je to obrovská pomoc, jenom doplnit na 2000 řádků středníky dá pořádně zabrat.

nahlásit spamnahlásit spam 0 / 2 odpovědětodpovědět

Naučte sa rozdiel medzi C a C#!

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

Pane, jste úplně mimo, což vám tu ostatně píšou všichni. Ve svém vlastním zájmu už sem vůbec nic nepište, neb každou další snůškou hovadin ze sebe děláte ještě většího debila.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Proč tak ostrá slova? Proč sem nenapíšete správný postup pro převod kódu do C?

Vy sám přece píšete převážně ve VB, ale co když najdete na netu kód v Javě, PHP a budete ho chtít použít? Prostě řeknete "to je na houby, z PHP přece nejde nic převést do VB"?

nahlásit spamnahlásit spam -10 / 10 odpovědětodpovědět

VB.NET a C++ sú natoľko odlišné jazyky, že automatický prevod nie je možný. Ak to chcete previesť, musíte to spraviť ručne. Minimálne väčšinu kódu.

A tie konvertory, čo tu odznieli, sú na koverziu VB.NET<> C#.

P.S: To fakt je pre Vás jednoduchšie sa tu hádať, než to previesť ručne ?

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Nic takového se opravdu nedělá! Nebo alespoň "normální" člověk a programátor nic takového nedělá. V takovém případě,tedy,že potřebujete určitou funkcionalitu převést mezi různými frameworky,se většinou používá spíše přístup takový,že zjistíte co samotný kód dělá a pak tuto funkcionalitu manuálně "přepíšete" do "svého" jazyka.

To je jak kdybyste překládal z jednoho cizího jazyka do jiného tak,že byste vše přeložil slovo od slova rovnou. Místo toho,abyste pochopil význam věty a tu pak finálně převedl do cílového jazyka.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback