Excel Forum

Excel Forum (http://www.excel.web.tr/index.php)
-   JavaScript (http://www.excel.web.tr/forumdisplay.php?f=75)
-   -   JavaScript kodunu Visual basic koduna çevirme (http://www.excel.web.tr/showthread.php?t=138518)

gugulimonta 14-02-2014 17:12

JavaScript kodunu Visual basic koduna çevirme
 
Selam
Aşağda verdiğim Kodun fonksiyon kısmını Visual basic veya Excel VBA koduna çevirmek istedim.Başaramadım.

Form üzerinde Üç adet Texbox ve bir tane buton olup,İlk iki textbox'girilen veriler butonu tıklayınca işlem yapıp üçüncü textbox ta sonuç dönecek.Bu konuda yardımlarınızı bekliyorum.





<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>

<head>
<title>JavaScript - Motorwindungsschema berechnen</title>
</head>
<body onload="init()">
<form name="Windungsrechner">
<div align="center"><center>
<font color="#FF0000">Bedienungsanleitung:</font> Gib die anzahl der Nuten und Pole ein und drücke auf das Gleichheitszeichen.
<table border="2">
<tr>
<td>Nuten:</td>
<td><input type="text" size="3" name="Nuten" maxlength="3"></td>
<td>Pole:</td>
<td><input type="text" size="3" maxlength="3" name="Pole"></td>
<td><input type="button" name="Berechnen" value="=" onclick="berechnen(this.form)"></td>
<td><input type="text" size="64" name="Ergebnis"></td>
</tr>
</table>








Warnung: Die Anzahl der Nuten muss ein vielfaches von 3 sein und die Pole ein vielfaches von 2. Es sind nur ergebnisse gültig, die gleich viele A/a B/b und C/c's enthalten. 12N18P oder 15N12P geht z.B. nicht.
</center></div>
</form>
<p><script language="JavaScript"><!--
function init()
{

document.Windungsrechner.Nuten.focus();
document.Windungsrechner.Nuten.value="";
document.Windungsrechner.Pole.value="";
document.Windungsrechner.Ergebnis.value="";
return;
}
function berechnen(form)
{
schema=""
summe = 0;
Nuten= eval(form.Nuten.value);
Pole = eval(form.Pole.value);
Winkel = 180 * Pole / Nuten;
for (i=0;i<Nuten;i++){
if (summe >= 330 || summe < 30 ) schema = schema + "A";
if (summe >= 30 && summe < 90 ) schema = schema + "c";
if (summe >= 90 && summe < 150) schema = schema + "B";
if (summe >= 150 && summe < 210) schema = schema + "a";
if (summe >= 210 && summe < 270) schema = schema + "C";
if (summe >= 270 && summe < 330) schema = schema + "b";
summe=summe+Winkel;
summe=summe%360;
}
document.Windungsrechner.Ergebnis.value = schema;
}
// --></script></p>
</body>
</html>

Levent Menteşoğlu 14-02-2014 19:27

Fonksiyondaki işlem mantığını açıklarsanız yardımcı olmaya çalışırız.

gugulimonta 14-02-2014 22:50

Sayın Menteşoğlu ilginize teşekkür ederim.

Elektrik motorlarının stator sarımında yapılan hesaplamayla ilgili.

Örnek olarak 36 oyuklu 4 kutuplu üç fazlı bir statorun fazlara ait dağılımını hesaplıyor.

Bu linkte Web de çalışan uygulaması mevcut.

http://www.bavaria-direct.co.za/mode...Calculator.htm

Ayrıca ben VBA da biraz uğraştım fakat bir sonuç alamadım.



Private Sub CommandButton1_Click()
'Dim pole As Double
'Dim nuten As Double
Dim summe As TextBox
Dim schema As TextBox
' Dim winkel As Double


schema = TextBox3
'summe = 0

nuten = TextBox1.Value 'Statorun oyuk sayısı
pole = TextBox2.Value 'statorun kutup sayısı
summe = 180 * pole / nuten

For i = 0 To nuten
If summe >= 330 Or summe < 30 Then 'İf end if bloğu Fazlar arası açı ile ilgili 60 ın katları şeklinde
schema = schema & "A" 'gidiyor.
End If
If summe >= 30 And summe < 90 Then
schema = schema & "c"
End If
If summe >= 90 And summe < 150 Then
schema = schema & "B"
End If
If summe >= 150 And summe < 210 Then
schema = schema & "a"
End If
If summe >= 210 And summe < 270 Then
schema = schema & "C"
End If
If summe >= 270 And summe < 330 Then
schema = schema & "b"


End If
'summe = summe + winkel
'summe = summe Mod 360
Next i

' document.Windungsrechner.Ergebnis.value = schema

End Sub

Levent Menteşoğlu 15-02-2014 13:56

Hesaplama yöntemini vermeniz gerekir ki bizde ona göre fonksiyonu düzenleyelim.

gugulimonta 15-02-2014 17:20

Selam
Hesaplama yöntemini tam olarak bilmediğim için Java kodlarından istifade ederek VB de yazılabileceğini düşünmüştüm. İlginize teşekkür eder, çalışmalarınızda başarılar dilerim.

Murat OSMA 15-02-2014 17:42

1 Eklenti(ler)
Bu şekilde bir hesap mıdır ? :dusun:

Kod:

Private Sub CommandButton1_Click()
    TextBox3.Value = Empty
    summe = 0
    schema = TextBox3.Value
    nuten = TextBox1.Value
    pole = TextBox2.Value
    summe = 180 * pole / nuten
    For i = 0 To nuten
        If summe >= 330 Or summe < 30 Then
            schema = schema & "A"
        ElseIf summe >= 30 And summe < 90 Then
            schema = schema & "c"
        ElseIf summe >= 90 And summe < 150 Then
            schema = schema & "B"
        ElseIf summe >= 150 And summe < 210 Then
            schema = schema & "a"
        ElseIf summe >= 210 And summe < 270 Then
            schema = schema & "C"
        ElseIf summe >= 270 And summe < 330 Then
            schema = schema & "b"
        End If
    Next i
    TextBox3.Value = schema
End Sub


ExcelF1 15-02-2014 19:27

Murat Bey,

Soruyu soran üye, 3 nolu mesajda bir site linki vermiş. Orada değerler girerek hesaplama yapıldığında, Sizin eklemiş olduğunuz kod ile aynı sonucu döndürmüyor.

Murat OSMA 15-02-2014 20:09

Evet Sn. ExcelF1, kontrolünü yapmamıştım. Aynı sonuç döndürmüyor.

Hesaplamayı doğru yapılabilmesi için tam olarak mantığı bilmek gerek mâlûm.
Java kodlarından da net bir sonuç çıkaramadım. Şu an için net bir çözüm sunamam ancak java kursundan sonra yanıtlayabilirim.

ExcelF1 15-02-2014 20:26

Java kursuna başladı iseniz, şimdiden hayırlı olsun.

Yakın zamanda bende Java ve C++ 'ye merak salmış, ama nereden başlamak gerektiği konusunda tereddütte kalmıştım. Bu konuda da yardımınız ve tavsiyeleriniz olursa, minnettar kalırım.

Hayırlı akşamlar...

Murat OSMA 15-02-2014 20:33

Teşekkür ederim...

Kısmet olursa Salı günü Web yazılım kursuna başlayacağım. (Php - Php & MySql Veritabanı Yönetimi -JavaScript ve Jquery dersleri)

Önerim ancak şu olabilir; size en yakın Bilgisayar Yazılım Kursuna gidip öğretim görevlilerinden bu konu bilgi alabilirsiniz, sizi yönlendireceklerdir.


Size de hayırlı akşamlar.


Saat 21:34

Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.