نمایش نتایج 1 تا 14 از 14

نام تاپیک: انتخاب متن یک پنجره مانند Babylon

  1. #1
    کاربر دائمی آواتار hojjatcroos
    تاریخ عضویت
    آبان 1387
    محل زندگی
    ایران
    پست
    286

    انتخاب متن یک پنجره مانند Babylon

    سلام دوستان آیا برای انتخاب متن یک پنجره نیاز به فراخوانی توابع API هست یا نه اگه نیاز هست با چه پیغامی میشه این کار رو انجام بدم خیلی ممنون

  2. #2
    کاربر دائمی آواتار hojjatcroos
    تاریخ عضویت
    آبان 1387
    محل زندگی
    ایران
    پست
    286

    نقل قول: انتخاب متن یک پنجره مانند Babylon

    کسی از دوستان نمیتونه من رو راهنمایی کنه

  3. #3

    نقل قول: انتخاب متن یک پنجره مانند Babylon

    قبلا درباره اش توضیح داده شده، همین عبارت Babylon را جستجو کنید.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  4. #4

    نقل قول: انتخاب متن یک پنجره مانند Babylon

    مي توني از اين پروژه كه سورسشم واست گذاشتم استفاده كني

    دقيقا كارش شبيه بابيلون هست

    سورس یه دیکشنری شبیه Babylon با vb2005

    http://rapidshare.com/files/19804152...em_0.0.0.3.rar

    پسورد :
    pc7

  5. #5
    کاربر دائمی آواتار hojjatcroos
    تاریخ عضویت
    آبان 1387
    محل زندگی
    ایران
    پست
    286

    نقل قول: انتخاب متن یک پنجره مانند Babylon

    فکر کنم لینک دانلود مشکل داشت اگه میشه با همین برنامه نویس آپلودش کنید خیلی ممنون

  6. #6

    نقل قول: انتخاب متن یک پنجره مانند Babylon

    پيوند امتحان شد و كاملا سالم هست

    http://rapidshare.com/files/19804152...em_0.0.0.3.rar
    | 10049 KB


  7. #7
    کاربر دائمی آواتار hojjatcroos
    تاریخ عضویت
    آبان 1387
    محل زندگی
    ایران
    پست
    286

    نقل قول: انتخاب متن یک پنجره مانند Babylon

    با تشکر از دوستان گرامی فکر نمی کنم این سورس ربطی به تاپیک ما داشت Babylon رو هم جستجو کردم جواب نداد
    منظور من کپی به Clipboar نیست منظورم انتخاب متن یک شی مثل مثلا دکمه Start ویندوز هستش
    آخرین ویرایش به وسیله hojjatcroos : جمعه 25 اردیبهشت 1388 در 14:50 عصر

  8. #8

    نقل قول: انتخاب متن یک پنجره مانند Babylon



    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  9. #9
    کاربر دائمی آواتار hojjatcroos
    تاریخ عضویت
    آبان 1387
    محل زندگی
    ایران
    پست
    286

    نقل قول: انتخاب متن یک پنجره مانند Babylon

    سلام علی جان دست شما درد نکنه ولی من همه صفحه های رو گشتم و جز کپی متن به clipboard و OCR چیزی ندیدم ممنون میشم اگه کمک کنید با تشکر از همه دوستانم

  10. #10

    نقل قول: انتخاب متن یک پنجره مانند Babylon

    خب، انتظار داشتید Babylon چیکار کنه؟ Babylon از تلفیق دریافت متن توسط APIهای ویندوز و OCR استفاده میکنه.
    در تاپیک های حاصل از جستجوی بالا هم درباره هر دو مورد توضیح داده شده و در برخی مواقع سورس هم قرار داده شده.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  11. #11
    کاربر دائمی آواتار hojjatcroos
    تاریخ عضویت
    آبان 1387
    محل زندگی
    ایران
    پست
    286

    نقل قول: انتخاب متن یک پنجره مانند Babylon

    علی جان حرف شما درست ولی شما وقتی متن دکمه استارت رو برای ترجمه کلیک می کنی اون متن توسط بابیلون به حالت انتخاب در میاد حالا چه طور میشه این حالات انتخاب متن رو برای متن شی های دیگر به وجود آورد(با نادیده گرفتن OCR ) - خیلی ممنون

  12. #12
    کاربر دائمی آواتار hojjatcroos
    تاریخ عضویت
    آبان 1387
    محل زندگی
    ایران
    پست
    286

    نقل قول: انتخاب متن یک پنجره مانند Babylon

    کسی نمیتونه جواب ما رو بده

  13. #13
    کاربر دائمی آواتار gbg
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    تهران
    سن
    46
    پست
    691

    نقل قول: انتخاب متن یک پنجره مانند Babylon

    من یه سورس دارم ولی هرچی میگردم پیدا نمی کنم و تقریبا تمام صفحات سایت رو نگاه کردم و سورس هاش رو هم گرفتم و اجرا کردم ، تا اونجایی که من دیدم هیچ کدوم واقعا به درد نمی خورد و درست کار نمی کرد (مثل بیبیلون و در متن فقط)

  14. #14
    کاربر دائمی آواتار hojjatcroos
    تاریخ عضویت
    آبان 1387
    محل زندگی
    ایران
    پست
    286

    نقل قول: انتخاب متن یک پنجره مانند Babylon

    سلام- خدمت دوستان بالاخره موفق شدم یک نمونه کد به زبان های #c و ویژال بیسیک از MSDN به دست بیارم ولی چیزی متوجه نمیشم اگه دوستان کمک کنن ممنون میشم



    C#‎

    ///--------------------------------------------------------------------
    /// <summary>
    /// Starts the target application.
    /// </summary>
    /// <param name="app">
    /// The application to start.
    /// </param>
    /// <returns>The automation element for the app main window.</returns>
    /// <remarks>
    /// Three WPF documents, a rich text document, and a plain text document
    /// are provided in the Content folder of the TextProvider project.
    /// </remarks>
    ///--------------------------------------------------------------------
    private AutomationElement StartApp(string app)
    {
    // Start application.
    Process p = Process.Start(app);

    // Give the target application some time to start.
    // For Win32 applications, WaitForInputIdle can be used instead.
    // Another alternative is to listen for WindowOpened events.
    // Otherwise, an ArgumentException results when you try to
    // retrieve an automation element from the window handle.
    Thread.Sleep(2000);

    targetResult.Content =
    WPFTarget +
    " started. \n\nPlease load a document into the target " +
    "application and click the 'Find edit control' button above. " +
    "\n\nNOTE: Documents can be found in the 'Content' folder of the FindText project.";
    targetResult.Background = Brushes.LightGreen;

    // Return the automation element for the app main window.
    return (AutomationElement.FromHandle(p.MainWindowHandle)) ;
    }


    ...


    ///--------------------------------------------------------------------
    /// <summary>
    /// Finds the text control in our target.
    /// </summary>
    /// <param name="src">The object that raised the event.</param>
    /// <param name="e">Event arguments.</param>
    /// <remarks>
    /// Initializes the TextPattern object and event handlers.
    /// </remarks>
    ///--------------------------------------------------------------------
    private void FindTextProvider_Click(object src, RoutedEventArgs e)
    {
    // Set up the conditions for finding the text control.
    PropertyCondition documentControl = new PropertyCondition(
    AutomationElement.ControlTypeProperty,
    ControlType.Document);
    PropertyCondition textPatternAvailable = new PropertyCondition(
    AutomationElement.IsTextPatternAvailableProperty, true);
    AndCondition findControl =
    new AndCondition(documentControl, textPatternAvailable);

    // Get the Automation Element for the first text control found.
    // For the purposes of this sample it is sufficient to find the
    // first text control. In other cases there may be multiple text
    // controls to sort through.
    targetDocument =
    targetWindow.FindFirst(TreeScope.Descendants, findControl);

    // Didn't find a text control.
    if (targetDocument == null)
    {
    targetResult.Content =
    WPFTarget +
    " does not contain a Document control type.";
    targetResult.Background = Brushes.Salmon;
    startWPFTargetButton.IsEnabled = false;
    return;
    }

    // Get required control patterns
    targetTextPattern =
    targetDocument.GetCurrentPattern(
    TextPattern.Pattern) as TextPattern;

    // Didn't find a text control that supports TextPattern.
    if (targetTextPattern == null)
    {
    targetResult.Content =
    WPFTarget +
    " does not contain an element that supports TextPattern.";
    targetResult.Background = Brushes.Salmon;
    startWPFTargetButton.IsEnabled = false;
    return;
    }

    // Text control is available so display the client controls.
    infoGrid.Visibility = Visibility.Visible;

    targetResult.Content =
    "Text provider found.";
    targetResult.Background = Brushes.LightGreen;

    // Initialize the document range for the text of the document.
    documentRange = targetTextPattern.DocumentRange;

    // Initialize the client's search buttons.
    if (targetTextPattern.DocumentRange.GetText(1).Length > 0)
    {
    searchForwardButton.IsEnabled = true;
    }
    // Initialize the client's search TextBox.
    searchString.IsEnabled = true;

    // Check if the text control supports text selection
    if (targetTextPattern.SupportedTextSelection ==
    SupportedTextSelection.None)
    {
    targetResult.Content = "Unable to select text.";
    targetResult.Background = Brushes.Salmon;
    return;
    }

    // Edit control found so remove the find button from the client.
    findEditButton.Visibility = Visibility.Collapsed;

    // Initialize the client with the current target selection, if any.
    NotifySelectionChanged();

    // Search starts at beginning of doc and goes forward
    searchBackward = false;

    // Initialize a text changed listener.
    // An instance of TextPatternRange will become invalid if
    // one of the following occurs:
    // 1) The text in the provider changes via some user activity.
    // 2) ValuePattern.SetValue is used to programatically change
    // the value of the text in the provider.
    // The only way the client application can detect if the text
    // has changed (to ensure that the ranges are still valid),
    // is by setting a listener for the TextChanged event of
    // the TextPattern. If this event is raised, the client needs
    // to update the targetDocumentRange member data to ensure the
    // user is working with the updated text.
    // Clients must always anticipate the possibility that the text
    // can change underneath them.
    Automation.AddAutomationEventHandler(
    TextPattern.TextChangedEvent,
    targetDocument,
    TreeScope.Element,
    TextChanged);

    // Initialize a selection changed listener.
    // The target selection is reflected in the client.
    Automation.AddAutomationEventHandler(
    TextPattern.TextSelectionChangedEvent,
    targetDocument,
    TreeScope.Element,
    OnTextSelectionChange);
    }


    ...


    ///--------------------------------------------------------------------
    /// <summary>
    /// Handles changes to the search text in the client.
    /// </summary>
    /// <param name="sender">The object that raised the event.</param>
    /// <param name="e">Event arguments.</param>
    /// <remarks>
    /// Reset all controls if user changes search text
    /// </remarks>
    ///--------------------------------------------------------------------
    void SearchString_Change(object sender, TextChangedEventArgs e)
    {
    int startPoints = documentRange.CompareEndpoints(
    TextPatternRangeEndpoint.Start,
    searchRange,
    TextPatternRangeEndpoint.Start);
    int endPoints = documentRange.CompareEndpoints(
    TextPatternRangeEndpoint.End,
    searchRange,
    TextPatternRangeEndpoint.End);

    // If the starting endpoints of the document range and the search
    // range are equivalent then we can search forward only since the
    // search range is at the start of the document.
    if (startPoints == 0)
    {
    searchForwardButton.IsEnabled = true;
    searchBackwardButton.IsEnabled = false;
    }
    // If the ending endpoints of the document range and the search
    // range are identical then we can search backward only since the
    // search range is at the end of the document.
    else if (endPoints == 0)
    {
    searchForwardButton.IsEnabled = false;
    searchBackwardButton.IsEnabled = true;
    }
    // Otherwise we can search both directions.
    else
    {
    searchForwardButton.IsEnabled = true;
    searchBackwardButton.IsEnabled = true;
    }
    }

    ///--------------------------------------------------------------------
    /// <summary>
    /// Handles the Search button click.
    /// </summary>
    /// <param name="sender">The object that raised the event.</param>
    /// <param name="e">Event arguments.</param>
    /// <remarks>Find the text specified in the text box.</remarks>
    ///--------------------------------------------------------------------
    void SearchDirection_Click(object sender, RoutedEventArgs e)
    {
    Button searchDirection = (Button)sender;

    // Are we searching backward through the text control?
    searchBackward =
    ((traversalDirection)searchDirection.Tag == traversalDirection.Backward);

    // Check if search text entered
    if (searchString.Text.Trim() == "")
    {
    targetResult.Content = "No search criteria.";
    targetResult.Background = Brushes.Salmon;
    return;
    }

    // Does target range support text selection?
    if (targetTextPattern.SupportedTextSelection ==
    SupportedTextSelection.None)
    {
    targetResult.Content = "Unable to select text.";
    targetResult.Background = Brushes.Salmon;
    return;
    }
    // Does target range support multiple selections?
    if (targetTextPattern.SupportedTextSelection ==
    SupportedTextSelection.Multiple)
    {
    targetResult.Content = "Multiple selections present.";
    targetResult.Background = Brushes.Salmon;
    return;
    }

    // Clone the document range since we modify the endpoints
    // as we search.
    TextPatternRange documentRangeClone = documentRange.Clone();

    // Move the cloned document range endpoints to enable the
    // selection of the next matching text range.
    TextPatternRange[] selectionRange =
    targetTextPattern.GetSelection();
    if (selectionRange[0] != null)
    {
    if (searchBackward)
    {
    documentRangeClone.MoveEndpointByRange(
    TextPatternRangeEndpoint.End,
    selectionRange[0],
    TextPatternRangeEndpoint.Start);
    }
    else
    {
    documentRangeClone.MoveEndpointByRange(
    TextPatternRangeEndpoint.Start,
    selectionRange[0],
    TextPatternRangeEndpoint.End);
    }
    }

    // Find the text specified in the Search textbox.
    // Clone the search range since we need to modify it.
    TextPatternRange searchRangeClone = searchRange.Clone();
    // backward = false? -- search forward, otherwise backward.
    // ignoreCase = false? -- search is case sensitive.
    searchRange =
    documentRangeClone.FindText(
    searchString.Text, searchBackward, false);

    // Search unsuccessful.
    if (searchRange == null)
    {
    // Search string not found at all.
    if (documentRangeClone.CompareEndpoints(
    TextPatternRangeEndpoint.Start,
    searchRangeClone,
    TextPatternRangeEndpoint.Start) == 0)
    {
    targetResult.Content = "Text not found.";
    targetResult.Background = Brushes.Wheat;
    searchBackwardButton.IsEnabled = false;
    searchForwardButton.IsEnabled = false;
    }
    // End of document (either the start or end of the document
    // range depending on search direction) was reached before
    // finding another occurence of the search string.
    else
    {
    targetResult.Content = "End of document reached.";
    targetResult.Background = Brushes.Wheat;
    if (!searchBackward)
    {
    searchRangeClone.MoveEndpointByRange(
    TextPatternRangeEndpoint.Start,
    documentRange,
    TextPatternRangeEndpoint.End);
    searchBackwardButton.IsEnabled = true;
    searchForwardButton.IsEnabled = false;
    }
    else
    {
    searchRangeClone.MoveEndpointByRange(
    TextPatternRangeEndpoint.End,
    documentRange,
    TextPatternRangeEndpoint.Start);
    searchBackwardButton.IsEnabled = false;
    searchForwardButton.IsEnabled = true;
    }
    }
    searchRange = searchRangeClone;
    }
    // The search string was found.
    else
    {
    targetResult.Content = "Text found.";
    targetResult.Background = Brushes.LightGreen;
    }

    searchRange.Select();
    // Scroll the selection into view and align with top of viewport
    searchRange.ScrollIntoView(true);
    // The WPF target doesn't show selected text as highlighted unless
    // the window has focus.
    targetWindow.SetFocus();
    }

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •