تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] ارجوا المساعده في عمل كود
#1
اهلا بكم جميعا

ارجوا المساعده 

انا عندي ملف بصيغة ADIF

.zip   55555.zip (الحجم : 220 بايت / التحميلات : 9)

واريد انزل البيانات الموجوده في الى  قاعدة البيانات .mdb

محتوى الملف 

كود :
<EOH>

<RST_SENT:2>59 <CALL:4>F1TTT  <EOR>
<RST_SENT:2>59 <CALL:4>G1WER  <EOR>


يبدى الملف من <EOH>

ومن ثم اول سطر
<RST_SENT:2>59 <CALL:4>F1TTT 

وعلامة نهاية السطر هو <EOR>

ثم يبدى السطر الثاني
 <RST_SENT:2>59 <CALL:4>G1WER

وهكذا


اتمنى مساعدتي بارك الله فيكم

وشكرا
الرد }}}}
تم الشكر بواسطة:
#2
لم توضح

كبف تكون اسماء الأعمدة وما هي البيانات التي تأخذها من النص لكل سطر.

أفضل شي ترسم جدول وتضع اسماء الأعمدة وتقوم بوضع البيانات تحتها، ثم ضعها هنا، عندها ستتضح الفكرة.
الرد }}}}
تم الشكر بواسطة: dubai.eig , dubai.eig
#3
(27-07-16, 03:32 PM)الوادي كتب : لم توضح

كبف تكون اسماء الأعمدة وما هي البيانات التي تأخذها من النص لكل سطر.

أفضل شي ترسم جدول وتضع اسماء الأعمدة وتقوم بوضع البيانات تحتها، ثم ضعها هنا، عندها ستتضح الفكرة.



فعلا  كلامك صحيح انا اسف

ان شاءالله بقوم برسم الجدول
الرد }}}}
تم الشكر بواسطة: الوادي
#4
(27-07-16, 03:32 PM)الوادي كتب : لم توضح

كبف تكون اسماء الأعمدة وما هي البيانات التي تأخذها من النص لكل سطر.

أفضل شي ترسم جدول وتضع اسماء الأعمدة وتقوم بوضع البيانات تحتها، ثم ضعها هنا، عندها ستتضح الفكرة.
اهلا من جديد
هنا المثال كامل 
http://bkqslmanager.com/Datatest.zip
النقص فقد كيف اعمل Import   للملف

الملف مرفق مع البرنامج
data.ADI

وشكرا من جديد
الرد }}}}
تم الشكر بواسطة:
#5
لم توضح وضع الأرقام :2 و:4 هل سيتم تجاهلها ؟

وأيضا توضيح الأدوات اللي على الفورم مثل IDQSO

وطلبت منك أن تذكر الأعمدة المطلوبة من ناحية عددها واسماءها وما يأخذ من النص اللي في الملف ووضعه فيها.

وطلبت منك أن ترسم صورة على شكل جدول تمثيلي
الرد }}}}
تم الشكر بواسطة: dubai.eig , dubai.eig
#6
هذا تعديل للكود جربه ورد خبر
PHP كود :
Imports System.Data.OleDb
Imports System
.Text.RegularExpressions

Public Class WORK

    
Private cnn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0; Data Source=" Application.StartupPath "\Datatest.mdb")
    Private 
dtADI As New DataTable
    
Private da As New OleDb.OleDbDataAdapter("SELECT * FROM [DTQSO] ORDER BY [ID]"cnn)
    
Dim c As New OleDbCommandBuilder(da)


    Private 
Sub Frmmain_Load(sender As ObjectAs EventArgsHandles MyBase.Load
        RefreshData
()

    
End Sub


    
Private Sub RefreshData()

        
dtADI.Clear()
        
da.Fill(dtADI)

        
Me.dgvData.DataSource dtADI

    End Sub


    
Private Sub btnAdd_Click(sender As ObjectAs EventArgsHandles btnAdd.Click

        
If Me.IDQSO.Text.Trim "" Then
            dtADI
.Rows.Add(NothingMe.opcall.Text.TrimMe.rst_sent.Text.Trim)

        Else
            
Dim row As DataRow = (From r As DataRow In dtADI.Rows Where r.Item("ID") = Me.IDQSO.Text.Trim).First
            row
.Item("opcall") = Me.opcall.Text

        End 
If

        
da.Update(dtADI)

        
RefreshData()

    
End Sub

    
Private Sub Button2_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button2.Click
        Dim fd 
As OpenFileDialog = New OpenFileDialog()
        
fd.Filter "ADI files (*.ADI)|*.ADI"
        
If fd.ShowDialog() = DialogResult.OK Then
            Me
.lblAttach.Text fd.FileName
            Dim txt 
As String IO.File.ReadAllText(fd.FileName)
            
Dim ms As MatchCollection Regex.Matches(txt"(?=<CALL).+?(<EOR>)"RegexOptions.IgnoreCase)
            For 
Each m As Match In ms
                Dim colCALL 
As String Regex.Match(m.Value"(?<=<CALL.+?>).+?(?=<)"RegexOptions.IgnoreCase).Value
                Dim colRST_SENT 
As String Regex.Match(m.Value"(?<=<RST_SENT.+?>).+?(?=<)"RegexOptions.IgnoreCase).Value
                dtADI
.Rows.Add(NothingcolCALL.TrimcolRST_SENT.Trim)
            
Next
            Dim c 
As New OleDbCommandBuilder(da)
            
da.Update(dtADI)

            
RefreshData()
        
End If
    
End Sub

End 
Class 
الرد }}}}
تم الشكر بواسطة: dubai.eig
#7
(28-07-16, 01:01 AM)الوادي كتب : لم توضح وضع الأرقام :2 و:4 هل سيتم تجاهلها ؟

وأيضا توضيح الأدوات اللي على الفورم مثل IDQSO

وطلبت منك أن تذكر الأعمدة المطلوبة من ناحية عددها واسماءها وما يأخذ من النص اللي في الملف ووضعه فيها.

وطلبت منك أن ترسم صورة على شكل جدول تمثيلي

السلام عليك يا مرحب شكرا علي الرد

إقتباس :لم توضح وضع الأرقام :2 و:4 هل سيتم تجاهلها ؟

بخصوص  ال 4  و ال2

تعني الكلمه المكتوبه في هذا السطر كم عدد حروفها
مثلا
كود :
<call:6>EA5DNO

الكلمه اللي في خانت ال call  تحتوي علي 6 حروف  EA5DNO

مثال ثاي


كود :
<call:5>s51aa

الرقم الان 5 والكلمه من خمس حروف  وتفس الشي في  

كود :
<rst_sent:2>59


الرقم نتجاهله في التنزيل في قاعده البيانات بارك الله فيك


إقتباس :وأيضا توضيح الأدوات اللي على الفورم مثل IDQSO



IDQSO  هو تعريف لخانت ال ID  في قاعدة البيانات 


إقتباس :وطلبت منك أن تذكر الأعمدة المطلوبة من ناحية عددها واسماءها وما يأخذ من النص اللي في الملف ووضعه فيها.

وطلبت منك أن ترسم صورة على شكل جدول تمثيلي


بخصوص الاعمدة انا فهمت اعمدة قاعدة البانات عملتها في ملف 
Datatest.mdb

Datatest\Datatest\bin\Debug\Datatest.mdb
   


شكرا من جديد علي مساعدتي بارك الله فيك

(28-07-16, 02:51 AM)الوادي كتب : هذا تعديل للكود جربه ورد خبر
PHP كود :
Imports System.Data.OleDb
Imports System
.Text.RegularExpressions

Public Class WORK

    Private cnn 
As New OleDb.OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0; Data Source=" Application.StartupPath "\Datatest.mdb")
 
   Private dtADI As New DataTable
    Private da 
As New OleDb.OleDbDataAdapter("SELECT * FROM [DTQSO] ORDER BY [ID]"cnn)
 
   Dim c As New OleDbCommandBuilder(da)


 
   Private Sub Frmmain_Load(sender As ObjectAs EventArgsHandles MyBase.Load
        RefreshData
()

 
   End Sub


    Private Sub RefreshData
()

 
       dtADI.Clear()
 
       da.Fill(dtADI)

 
       Me.dgvData.DataSource dtADI

    End Sub


    Private Sub btnAdd_Click
(sender As ObjectAs EventArgsHandles btnAdd.Click

        If Me
.IDQSO.Text.Trim "" Then
            dtADI
.Rows.Add(NothingMe.opcall.Text.TrimMe.rst_sent.Text.Trim)

 
       Else
            Dim row 
As DataRow = (From r As DataRow In dtADI.Rows Where r.Item("ID") = Me.IDQSO.Text.Trim).First
            row
.Item("opcall") = Me.opcall.Text

        End 
If

 
       da.Update(dtADI)

 
       RefreshData()

 
   End Sub

    Private Sub Button2_Click
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button2.Click
        Dim fd 
As OpenFileDialog = New OpenFileDialog()
 
       fd.Filter "ADI files (*.ADI)|*.ADI"
 
       If fd.ShowDialog() = DialogResult.OK Then
            Me
.lblAttach.Text fd.FileName
            Dim txt 
As String IO.File.ReadAllText(fd.FileName)
 
           Dim ms As MatchCollection Regex.Matches(txt"(?=<CALL).+?(<EOR>)"RegexOptions.IgnoreCase)
 
           For Each m As Match In ms
                Dim colCALL 
As String Regex.Match(m.Value"(?<=<CALL.+?>).+?(?=<)"RegexOptions.IgnoreCase).Value
                Dim colRST_SENT 
As String Regex.Match(m.Value"(?<=<RST_SENT.+?>).+?(?=<)"RegexOptions.IgnoreCase).Value
                dtADI
.Rows.Add(NothingcolCALL.TrimcolRST_SENT.Trim)
 
           Next
            Dim c 
As New OleDbCommandBuilder(da)
 
           da.Update(dtADI)

 
           RefreshData()
 
       End If
 
   End Sub

End 
Class 

بارك الله فيك الان بجرب الكود شكرا Smile
الرد }}}}
تم الشكر بواسطة:
#8
(28-07-16, 02:51 AM)الوادي كتب : هذا تعديل للكود جربه ورد خبر
PHP كود :
Imports System.Data.OleDb
Imports System
.Text.RegularExpressions

Public Class WORK

    Private cnn 
As New OleDb.OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0; Data Source=" Application.StartupPath "\Datatest.mdb")
 
   Private dtADI As New DataTable
    Private da 
As New OleDb.OleDbDataAdapter("SELECT * FROM [DTQSO] ORDER BY [ID]"cnn)
 
   Dim c As New OleDbCommandBuilder(da)


 
   Private Sub Frmmain_Load(sender As ObjectAs EventArgsHandles MyBase.Load
        RefreshData
()

 
   End Sub


    Private Sub RefreshData
()

 
       dtADI.Clear()
 
       da.Fill(dtADI)

 
       Me.dgvData.DataSource dtADI

    End Sub


    Private Sub btnAdd_Click
(sender As ObjectAs EventArgsHandles btnAdd.Click

        If Me
.IDQSO.Text.Trim "" Then
            dtADI
.Rows.Add(NothingMe.opcall.Text.TrimMe.rst_sent.Text.Trim)

 
       Else
            Dim row 
As DataRow = (From r As DataRow In dtADI.Rows Where r.Item("ID") = Me.IDQSO.Text.Trim).First
            row
.Item("opcall") = Me.opcall.Text

        End 
If

 
       da.Update(dtADI)

 
       RefreshData()

 
   End Sub

    Private Sub Button2_Click
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button2.Click
        Dim fd 
As OpenFileDialog = New OpenFileDialog()
 
       fd.Filter "ADI files (*.ADI)|*.ADI"
 
       If fd.ShowDialog() = DialogResult.OK Then
            Me
.lblAttach.Text fd.FileName
            Dim txt 
As String IO.File.ReadAllText(fd.FileName)
 
           Dim ms As MatchCollection Regex.Matches(txt"(?=<CALL).+?(<EOR>)"RegexOptions.IgnoreCase)
 
           For Each m As Match In ms
                Dim colCALL 
As String Regex.Match(m.Value"(?<=<CALL.+?>).+?(?=<)"RegexOptions.IgnoreCase).Value
                Dim colRST_SENT 
As String Regex.Match(m.Value"(?<=<RST_SENT.+?>).+?(?=<)"RegexOptions.IgnoreCase).Value
                dtADI
.Rows.Add(NothingcolCALL.TrimcolRST_SENT.Trim)
 
           Next
            Dim c 
As New OleDbCommandBuilder(da)
 
           da.Update(dtADI)

 
           RefreshData()
 
       End If
 
   End Sub

End 
Class 



ما شاءالله تبارك الله

فعلا الكود ادء المطلوب شكرا لك

Smile   بارك الله فيك

تغييراتك جميله 

اذا في اي شي في الكود برجع لك :Smile احسنت عمل جميل جدا
الرد }}}}
تم الشكر بواسطة:
#9
اهلا من جديد

لقد صادفتني مشكله في قراءة ملفات ال adi  

اذا كان الملف يبدى وينتهي في نفس السطر يتم قراءته بدون مشاكل كمثال

إقتباس :<RST_SENT:2>59 <CALL:4>F1TTT  <EOR>


ولكن اذا كان يبدى بسطر وينتهي في السطر الثاني او الثالث  ما يتم قراءته كمثال

إقتباس :<RST_SENT:2>59 
<CALL:4>F1TTT  
<EOR>

او

إقتباس :<RST_SENT:2>59 <CALL:4>F1TTT  

<EOR>


لان في ملفات تتكون من سطر تبدى وتنتهي بسطر وفي ملفات  تكون من سطرين وملفات من ثلاث سطور لهذا اتمنى اجد حل التلاعب في الكود ليتم القراءه وبارك الله فيك
الرد }}}}
تم الشكر بواسطة:
#10
/حصلت كود ممكن يساعدنا 

كود :
Option Explicit
Public Const conLinhaInicial As Integer = 2
Public Const conColunaInicial As String = "A"
IUltimaLinha As Integer Public(iPrimeiraLinha As Integer) The Integer(Folha1.Cells(iValRecebido, "A")) > 0
     iValRecebido = iValRecebido + 1
   Loop - 1
End Function

Public Function fQualEAUltimaColuna(sPrimeiraColuna As String) The String(sPrimeiraColuna)
   Do While Len(Folha1.Cells(1, Chr(iValRecebido))) > 0
     iValRecebido = iValRecebido + 1
   Loop(iValRecebido - 1)
End Function

Public Function fCampoAdifValido(sPrimeiraColuna As String, sUltimaColuna As String) The Boolean(sPrimeiraColuna) To Asc(sUltimaColuna)
     sNomeDoCampo = LCase(Folha1.Cells(1, iColunaCorrente - 64))
     Select Case sNomeDoCampo
       Case Is = "band": fCampoAdifValido = True
       Case Is = "call": fCampoAdifValido = True
       Case Is = "CQZ": fCampoAdifValido = True
       Case Is = "mode": fCampoAdifValido = True
       Case Is = "qso_date": fCampoAdifValido = True
       Case Is = "rst_rcvd": fCampoAdifValido = True
       Case Is = "rst_sent": fCampoAdifValido = True
       Case Is = "srx": fCampoAdifValido = True
       Case Is = "stx": fCampoAdifValido = True
       Case Is = "time_on": fCampoAdifValido = True
       Case Is = "adif raw"
         fCampoAdifValido = True = iAdifRaw iColunaCorrente - 64
       Case Else
         Folha1.Cells(1, iColunaCorrente - 64).Interior.Color = RGB(255, 0, 0)
         fCampoAdifValido = False
       End Select
     Next
End Function

Public Sub pEscreveAdif()
 ILinhaCorrente As Integer Dim ""
   For iColunaCorrente = Asc(conColunaInicial) To Asc(sUltimaColuna) - 1
     If LCase(Folha1.Cells(1, Chr(iColunaCorrente))) = "band" Then
       sTextoNaCelula = Folha1.Cells(iLinhaCorrente, Chr(iColunaCorrente)) & "M"
     Else
       If LCase(Folha1.Cells(1, Chr(iColunaCorrente))) = "qso_date" Then
         sTextoNaCelula = Replace(Folha1.Cells(iLinhaCorrente, Chr(iColunaCorrente)), "-", "")
       Else
         If LCase(Folha1.Cells(1, Chr(iColunaCorrente))) = "time_on" Then
      iLinhaCorrenteelula = Replace(Folha1.Cells(iLinhaCorrente, Chr(iColunaCorrente)), ":", "")
         Else
           sTextoNaCelula = Folha1.Cells(iLinhaCorrente, Chr(iColunaCorrente))
         End If
       End If
     End If
     sLinhaEmAdif = sLinhaEmAdif & "<" & LCase(Folha1.Cells(1, Chr(iColunaCorrente))) & ":" & Only(sTextoNaCelula) & ">" & sTextoNaCelula
   Next
   Folha1.Cells(iLinhaCorrente, iAdifRaw) = SLinhaEmAdif & "<" & "EOR" & ">"
 Next
End Sub
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  الرجاء المساعده في ايجاد كود لتحقيق شرط معين معتز الجازوي 1 32 اليوم, 05:19 AM
آخر رد: silverlight
  [VB.NET] المساعده في حذف سطر من CVS dubai.eig 0 46 01-12-16, 07:43 PM
آخر رد: dubai.eig
  [VB.NET] ارجو المساعده فى برنامج لاداره الاقساط الشهريه فارس الاحلام 0 88 29-09-16, 06:48 PM
آخر رد: فارس الاحلام
  [سؤال] سند القيد ارجو المساعده من المحترفين احمد الامين 5 135 01-09-16, 01:16 PM
آخر رد: احمد الامين
  ارجوا المساعدة في تعلم فيجول بيسك 2008 وsql 2008 mohammed_b 1 106 01-08-16, 09:28 PM
آخر رد: حريف برمجة
Question [VB.NET] ارجوا المساعده في كود فيجوال البصرة 2 67 30-07-16, 04:39 PM
آخر رد: الوادي
  [سؤال] ارجو المساعده فى برنامج دليل تليفون hhmm6 1 465 23-07-16, 02:12 PM
آخر رد: hglogtd
  الرجاء المساعده فيجوال بيزك 2008 mohamad3ateya 2 160 10-06-16, 06:04 PM
آخر رد: محمد كريّم
  [سؤال] ارجوا الرد سريعا انا محتاجه medoeisa 3 128 02-06-16, 08:28 AM
آخر رد: Amir_alzubidy
  ارجوا المساعدة mohammed_b 1 129 10-05-16, 04:37 PM
آخر رد: samerselo

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم